Показать сообщение отдельно
  #1 (permalink)  
Старый 04.09.2016, 03:55
Новичок на форуме
Отправить личное сообщение для zharinov Посмотреть профиль Найти все сообщения от zharinov
 
Регистрация: 15.08.2016
Сообщений: 5

Не правильно работает калькулятор
Добрый день. Сайт pizzabro.ru

Есть форма
<form name="form1">

<input type="text" name="customerNumber" placeholder="клиент N2 - это пример"><br/>

<input type="number" name="sum" id="i2" oninput="kalkulyator()"><br>

<input value="0" id="dostavka1" type="radio" name="dostavka" checked="checked" onclick="kalkulyator()"><br>

<input value="170" id="dostavka2" type="radio" name="dostavka" onclick="kalkulyator()">

<input type="submit" value="Оплатить">
</form>


В id="i2" собираются все заказы - с этим проблем нет. Мне нужно, чтобы при нажатии на radio c id="dostavka2" прибавлялось число 170 к id="i2".

Написал следующий код
this.sumAll = function kalkulyator()
		{var globalVar=0;
var sum=0;
		for(var idkey in this.DATA) { sum += parseFloat(this.DATA[idkey].price * this.DATA[idkey].num);}
		
		    if (document.getElementById('dostavka2').checked) {
  globalVar =sum+170;
} else if (document.getElementById('dostavka1').checked) {
   globalVar =sum;
} else {
   globalVar =sum; // изначально думал 3 радио кнопки будет
   
}

	document.getElementById('i2').value = globalVar;   // W3C DOM

		
}


Проблема в том, что значение считается с задержкой (не знаю как правильно выразиться). К примеру нажал на ratio - ничего не произошло, потом например открыл другую вкладку в браузере и сразу вернулся обратно )) Оно посчитало ) .

Если checked="checked" выставить сразу у второго radio, то видно, что калькулятор работает.

Заранее благодарю

Последний раз редактировалось zharinov, 04.09.2016 в 03:58.
Ответить с цитированием