Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2016, 14:16
Новичок на форуме
Отправить личное сообщение для bigi Посмотреть профиль Найти все сообщения от bigi
 
Регистрация: 21.09.2016
Сообщений: 3

Не работает калькулятор. Нужна помощь
делаю только первые шаги в javascript. не могу понять, почему не работает калькулятор. Итоговая сумма не рассчитывается. помогите найти ошибку. скрипт такой

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">

function calc() {
//Должность
var dol = document.getElementById("dol");
//Сумма
var sum = document.getElementById("sum");
var rezult;
if(dol==1) {
if(sum < 200000) rezult = sum*0;
if((sum >= 200000) && (sum < 250000)) rezult = sum*1.010;
if((sum >= 250000) && (sum < 300000)) rezult = sum*1.016;
if((sum >= 300000) && (sum < 350000)) rezult = sum*1.022;
if((sum >= 350000) && (sum < 400000)) rezult = sum*1.023;
if(sum >= 400000) rezult = sum*1.024;
}
if(dol==2) {
if(sum < 250000) rezult = sum*0;
if((sum >= 250000) && (sum < 300000)) rezult = sum*1.016;
if((sum >= 300000) && (sum < 350000)) rezult = sum*1.022;
if((sum >= 350000) && (sum < 400000)) rezult = sum*1.023;
if((sum >= 400000) && (sum < 450000)) rezult = sum*1.024;
if(sum >= 450000) rezult = sum*1.025;
}
if(dol==3) {
if(sum < 300000) rezult = sum*0;
if((sum >= 300000) && (sum < 350000)) rezult = sum*1.022;
if((sum >= 350000) && (sum < 400000)) rezult = sum*1.023;
if((sum >= 400000) && (sum < 450000)) rezult = sum*1.024;
if((sum >= 450000) && (sum < 500000)) rezult = sum*1.025;
if(sum >= 500000) rezult = sum*1.026;
}
if(dol==4) {
if(sum < 350000)rezult = sum*0;
if((sum >= 350000) && (sum < 400000)) rezult = sum*1.023;
if((sum >= 400000) && (sum < 450000)) rezult = sum*1.024;
if((sum >= 450000) && (sum < 500000)) rezult = sum*1.025;
if((sum >= 450000) && (sum < 500000)) rezult = sum*1.026;
if(sum >= 550000) rezult = sum* 1.027;
}
if(dol==5) {
if(sum <= 1000000) rezult = sum*0;
if((sum > 1000000) && (sum <= 1100000)) rezult = sum*1.004;
if((sum > 1100000) && (sum <= 1300000)) rezult = sum*1.005;
if((sum > 1300000) && (sum <= 1500000)) rezult = sum*1.006;
if((sum > 1500000) && (sum <= 1700000)) rezult = sum*1.007;
if((sum > 1700000) && (sum <= 1900000)) rezult = sum*1.008;
if((sum > 1900000) && (sum <= 2100000)) rezult = sum*1.009;
if((sum > 2100000) && (sum <= 2500000)) rezult = sum*1.010;
}
var result = document.getElementById("rezult");
var rezult = 0;
rezult += parseInt(dol.value);
rezult = parseInt(rezult) ;

rezult.innerHTML = rezult;

}

</script>
</head>
<body>
<b>Должность:</b><br/>
<select onchange="calc()" id="dol">
<option value="0">Выбрать</option>
<option value="1">Специалист</option>
<option value="2">Старший</option>
<option value="3">Ведущий</option>
<option value="4">Главный</option>
<option value="5">Руководитель</option>
</select><br/>
<br/>
Сумма: <input type="text" id="sum" value="0" onchange="calc()" />
<div>Премия: <span id="rezult">0</span> руб.</div>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2016, 14:33
Новичок на форуме
Отправить личное сообщение для bigi Посмотреть профиль Найти все сообщения от bigi
 
Регистрация: 21.09.2016
Сообщений: 3

у него суммы больше
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2016, 16:19
Новичок на форуме
Отправить личное сообщение для bigi Посмотреть профиль Найти все сообщения от bigi
 
Регистрация: 21.09.2016
Сообщений: 3

поменял на
var prem = 0;
prem += dol.options[type_design.selectedIndex].value;
prem += parseInt(sum.value);

prem = parseInt(rezult.value);

result.innerHTML = prem;
(...)

<div>Премия: <span id="result">0</span> руб.</div>


все равно ничего не считается.
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2016, 16:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

bigi,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в расширении espltd Элементы интерфейса 2 30.07.2016 09:16
Нужна помощь - Bootstrap 3 в горизонтальном модуле Joomla не работает кнопка Ingener Общие вопросы Javascript 1 07.05.2016 17:15
Нужна помощь с autocomplete Nuuta jQuery 0 13.10.2015 20:51
Нужна помощь, сломался калькулятор smnik Работа 7 16.05.2015 13:39
В IE не работает динамическое изменение colspan, нужна помощь! Extasy Общие вопросы Javascript 8 17.08.2008 11:55