Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2013, 11:47
Интересующийся
Отправить личное сообщение для dianitka Посмотреть профиль Найти все сообщения от dianitka
 
Регистрация: 06.11.2010
Сообщений: 24

события 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 и происходит пересчет.

Подскажиет, пожалуйста, можно ли побороть эти баги?
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2013, 12:29
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

1 научитесь структурировать свой код . что у вас делает else на однолм уровне с параметрами аякс запроса?
Да и прочее , явно не на своих уровнях отступа
Сообщение от dianitka
во всех браузерах нельзя сразу набить, например, 12. Подхватывается только цифра 1 и происходит пересчет.
Сообщение от dianitka
Подскажиет, пожалуйста, можно ли побороть эти баги?
Это не баги -достаточно доки по этому событию прочитать чтоб понять как оно работает. Доки в гугле не ищутся?
использовать другое событие например http://jquery-docs.ru/events/change/, либо допиливать код : если в течении н времени не было ввода то ввод считается законченным

Последний раз редактировалось dmitriymar, 27.05.2013 в 12:34.
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2013, 12:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов события для input file ArmagedDance jQuery 4 17.02.2013 10:39
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55