kukaew
@kukaew

Как сделать, чтоб функция посылала один запрос, а не накапливала, множа их с каждым разом?

Вот код. Первый раз приходит один ответ. Второй раз - два. Зачтем четыре. Восемь. Шестнадцать....
Крутил, вертел, никак не получается. Что не так? А как? Спасибо.

$(function(){
	$('input[name="email"], input[name="login"]').focus(function() {
		$(this).keypress(function(e) {
			if(e.keyCode==13) {
				regg();
			}
		});
	});

function regg(){
	var sendData = {};
	sendData.email = $("input[name='email']").val();
	sendData.login = $("input[name='login']").val();
	$.post(
	"/reg.php",
	sendData,
	function(data)
	{
		if(data)
		{
			data = $.parseJSON(data);
			var otvet ='';
			$.each(data, function(i, val)
			{
				otvet = val;
				console.log(otvet);
			});			
		}
	});
};
  • Вопрос задан
  • 137 просмотров
Решения вопроса 2
@holfza
Лучше уж как-то так.. Непонятно, зачем еще нужно отлавливать focus
$('input[name="email"], input[name="login"]').keypress(function(e) {
      if(e.keyCode==13) {
        regg();
      }
  });
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Не вешать обработчики событий внутри обработчиков событий)
Ну или если очень надо - удалять перед этим старые обработчики событий
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы