Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не правильно работает калькулятор (https://javascript.ru/forum/dom-window/64768-ne-pravilno-rabotaet-kalkulyator.html)

zharinov 04.09.2016 03:55

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

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

laimas 04.09.2016 08:51

Цитата:

Сообщение от zharinov
В id="i2" собираются все заказы

Что значит "собираются" и зачем?

warren buffet 04.09.2016 10:15

Юзай onchange вместо onclick в своем "ратио" и говнокод выкинь. Это вот что - this.sumAll - ?

zharinov 04.09.2016 16:25

Спасибо )

laimas 04.09.2016 17:12

zharinov,
меняйте форму, меняйте саму логику, а то чего вам насоветовали не поможет.

warren buffet 06.09.2016 05:24

А что там советовать?


laimas 06.09.2016 07:47

Цитата:

Сообщение от warren buffet
А что там советовать?

А если мозги включить?

warren buffet 06.09.2016 14:06

Разрешаю. Включай.

laimas 06.09.2016 14:20

Цитата:

Сообщение от warren buffet
Разрешаю. Включай.

Нет у тебя мозгов, придурок. Посмотри на форму внимательно, и если есть хоть капелька мозгов у тебя, то может поймешь в чем проблема.

warren buffet 07.09.2016 09:58

У меня нет ни капельки мозгов, я же придурок. Расскажи в чем проблема.


Часовой пояс GMT +3, время: 17:44.