Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   события input propertychange (https://javascript.ru/forum/dom-window/38303-sobytiya-input-propertychange.html)

dianitka 27.05.2013 11:47

события input propertychange
 
Здравствуйте. У меня такой вопрос.
В корзине товаров требуется сделать инпут для обновления количества, при этом количество будет набиваться туда вручную и общая сумма товаров в корзине должна пересчитываться сразу.

Вот часть моего скрипта
$('#input').bind('input propertychange', function(e){
  var count=$(this).val();
  
if (parseInt(count)>0){
			 
      $.ajax({
			type: "POST",
			url: "blocks/actions.php",
			data: "p=2&id="+$(this).attr('rel')+'&count='+count
				}).done(function(msg){
				
            var msgarr=msg.split(';');
		    var oldcount = msgarr[0]*1;
			var newcount = msgarr[1]*1;
			var price = msgarr[2]*1;
			
			var c = 0;
			var s = 0;
			var othersumma = 0;
			var othercount=0;
			
            c=othercount+newcount;
            s=othersumma+newcount*price;
			s=s.toFixed(2);
			
			$('#summa').html(s);
			$('#total_count').html(c);
               });	
			
			}
			else{
			
           if(confirm('Удалить товар из корзины?')){
		      fdel(rel);
			  return false;}
				  
			  else
				  return false;
				
				
			}


});



В принципе подсчет общей суммы происходит во всех браузерах корректо, но есть два бага.

1) в Ие каждый раз после набивание цифры выводится confirm "Удалить товар из корзины?"

2) во всех браузерах нельзя сразу набить, например, 12. Подхватывается только цифра 1 и происходит пересчет.

Подскажиет, пожалуйста, можно ли побороть эти баги?

dmitriymar 27.05.2013 12:29

1 научитесь структурировать свой код . что у вас делает else на однолм уровне с параметрами аякс запроса?
Да и прочее , явно не на своих уровнях отступа
Цитата:

Сообщение от dianitka
во всех браузерах нельзя сразу набить, например, 12. Подхватывается только цифра 1 и происходит пересчет.

Цитата:

Сообщение от dianitka
Подскажиет, пожалуйста, можно ли побороть эти баги?

Это не баги -достаточно доки по этому событию прочитать чтоб понять как оно работает. Доки в гугле не ищутся?
использовать другое событие например http://jquery-docs.ru/events/change/, либо допиливать код : если в течении н времени не было ввода то ввод считается законченным

danik.js 27.05.2013 12:56

Кроме того, сдается мне что в IE9-10 код будет выполняться дважды..


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