Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Событие keyup, отправка данных (https://javascript.ru/forum/jquery/20621-sobytie-keyup-otpravka-dannykh.html)

Ad1r 11.08.2011 15:12

Событие keyup, отправка данных
 
Здравствуйте!

Проблема заключается в следующем, событие keyup отрабатывает при каждом отжатии кнопки при установленом фокусе на форму. И получается, что когда происходит отжатие кнопки, то у меня формируется запрос и отправляется ajax'ом, я сделал таймаут, но ничего хорошего из этого не вышло, запрос откладывается на указанное время а после отправляется ровно столько раз, сколько была нажата кнопка во время нахождения фокуса на форме.

Как в таком случае избежать ненужных ajax запросов?

$("input[name=myInput]").keyup(function(){
	  		    setTimeout(function(){ 
	  		    	$('#myForm').ajaxSubmit(options);
	  		    }, 2000 );			
		});

devote 11.08.2011 15:20

вешать на событие blur (уход с объекта)

Ad1r 11.08.2011 17:26

Форма о которой идет речь является последней в списке всех форм, а так же кнопки "отправить" нет (что говорит о том, что пользователь оставит крусор в этой форме), поэтому у меня и возникла такая задача отследить момент и отправить форму, только на деле происходит отправок ровно столько сколько раз сработало событие keyup

devote 11.08.2011 17:33

var timerHandle = null;

$("input[name=myInput]").keyup(function(){
     if ( timerHandle != null ) {
         clearTimeout( timerHandle );
     }
     timerHandle = setTimeout(function(){
         $('#myForm').ajaxSubmit(options); 
     }, 2000 );
});

Ad1r 11.08.2011 17:53

спасибо!


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