Калькулятор стоимости
Добрый день, форумчане!
сразу оговорка - я в javascript новичок, поэтому прошу на глупые вопросы хотябы отвечать, а не слать в гугл. Задача, написать калькулятор стоимости, вроде бы не сложный, по мере моего продвижения по коду буду выкладывать результат и вопросы. #1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type='text/javascript'>
function validate() {
var agregat1="рег1";
var agregat2="рег2";
var agregat3="рег3";
var agregat4="рег4";
//Считываем значения поля kvadratura в переменную j_kvadratura
var j_kvadratura=document.forms["form"]["kvadratura"].value;
//прописываем условия для выбора регистратора
if ((j_kvadratura<=200) && (j_kvadratura>=50)) {
document.write(рег4);
}
else if ((j_kvadratura<=400) && (j_kvadratura>=200)) {
document.write(рег1);
}
else if ((j_kvadratura<=600) && (j_kvadratura>=400)) {
document.write(рег2);
}
else if ((j_kvadratura<=1000) && (j_kvadratura>=600)) {
document.write(рег3);
}
else {document.write('Неверно введена квадратура');
}
}
</script>
</head>
<form name="form">
квадратура: <input type="text" name="kvadratura"><br />
<br /><input type="button" value="111" onclick="validate()">
</form>
<body>
</body>
</html>
Мне нужно будет считать стоимость услуг, как начать? Я добился того что скрипт в зависимости от введенного в input значения выбирает регистратор. Как теперь добиться того, чтобы к этому регистратору привязывалась его цена? #2 Как мне вывести результат именно в том месте, где мне надо, например в DIV? |
Цитата:
|
Пардон, но не понятно.
Допустим, я хочу вывести результат выполнения функции validate() в тег <div></div> мне в div писать innerHTML, или куда? |
Цитата:
<html>
<head>
<title>!!!</title>
<script>
function t(){
document.getElementById('another_id').innerHTML = document.getElementById('someid').value;
}
</script>
</head>
<body>
<input type="text" value="Напиши сюды!" id="someid"/><input type="button" value="Ткни сюды!" onclick="t()"/>
<div id="another_id"></div>
</body>
</html>
|
Цитата:
Только вот в моем примере есть 4 условия, мне нужно не просто вывод переменной, а вывести результат работы фунцкии... немогу... Цитата:
|
Цитата:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type='text/javascript'>
function validate() {
var result = 'Неверно введена квадратура';
var agregat1="рег1";
var agregat2="рег2";
var agregat3="рег3";
var agregat4="рег4";
//Считываем значения поля kvadratura в переменную j_kvadratura
var j_kvadratura=document.forms["form"]["kvadratura"].value;
//прописываем условия для выбора регистратора
if ((j_kvadratura<=200) && (j_kvadratura>=50)) {
result = agregat4;
}
else if ((j_kvadratura<=400) && (j_kvadratura>=200)) {
result = agregat1;
}
else if ((j_kvadratura<=600) && (j_kvadratura>=400)) {
result = agregat2;
}
else if ((j_kvadratura<=1000) && (j_kvadratura>=600)) {
result = agregat3;
}
document.getElementById('result').innerHTML = result;
}
</script>
</head>
<body>
<form name="form">
квадратура: <input type="text" name="kvadratura"><br />
<br /><input type="button" value="111" onclick="validate()">
</form>
<div id="result"></div>
</body>
</html>
Это это основы программирование. А вывод результата, это задача одной функции в любом языке программирования... |
Ничего не мешает! Класс! Спасибо большое!
Цитата:
В общем мне надо чтобы считалась цена + выводилось имя выбраной системы... |
vashurin, а что если там будут до миллиона числа, вы также насильно заставите?)
|
Цитата:
На вопрос, касающийся реализации в конкретном языке: Цитата:
|
var agregat1="рег1 200 500"; Ну можно делать и оригинальнее как-то) Массивом например. |
Собственно, специфика работы заказчика сайта позволяет сделать калькулятор только до 1000 кв.м. так что методы, описанные vashurin вполне подходят.
Теперь другой вопрос: Как вывести результат того, что насчитает калькулятор в PDF файл в виде ком.предложения? Калькулятор работает на джумле 1.5. В результате появляется табличка. Вот ее бы в PDF. Спасибо всем большое за участие!!! |
И еще вопрос по строковым переменным -
Есть переменная, скажем accessories, она будет выводиться в div, как сделать, чтобы допустим в случае, если квадратура больше или равна 400 кв.м. то в аксессуары добавлялся, скажем, усилитель, через запятую... в общем - как выводить строковые переменные через запятую? |
Ха! Справился... как же приятно самому до чего нибудь додуматься )
document.getElementById('accessories').innerHTML = (string1+" ,"+string2);
<tr>
<td>Аксессуары:</td>
<td id="accessories"> </td>
|
Друзья, помогайте!
очередное затруднение... Как сделать несколько условий? нужно чтобы переменные принимали значения только если "чекнуты" два определенных инпута...
<html>
<head>
<script type='text/javascript'>
function montazh() {
var montazh_summa = 0;
if (document.getElementById('da').checked) {
else if (document.getElementById('distant').checked){
montazh_summa = ('kazamola batikoza');
}
document.getElementById('montazh_summa').innerHTML = montazh_summa;
}
</script>
</head>
<body>
<form name="form">
<input type="radio" name="1" id="da" onchange="montazh()"> Да<br />
<input type="radio" name="1" id="net" onchange="montazh()"> Нет<br />
3. Выберите тип управления:<br/>
<input type="radio" name="upravlenie" id="uprovodka"> Управляющая проводка<br />
<input type="radio" name="upravlenie" id="distant"> Дистанционное управление<br />
</form>
<div id="montazh_summa"></div>
</body>
</html>
поправьте, пожалуйста... не работает... |
Ура! оказалось нужны еще скобки...
вот так:
if ((document.getElementById('da').checked) && (document.getElementById('distant').checked)) {
(distant_pult_price=3) && (distant_pult_name=", пульт дистанционного управления");
}
else if ((document.getElementById('net').checked) && (document.getElementById('distant').checked)) {
(distant_pult_price=0) && (distant_pult_name=" ");
}
|
| Часовой пояс GMT +3, время: 13:29. |