Добрый день. Сайт 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, то видно, что калькулятор работает.
Заранее благодарю