2014-02-19 2 views
0

У меня есть форма заказа, в которой требуется почтовый индекс. Мне нужен этот zipcode, чтобы получить LocationID. Zipcodes находятся в формате 0000XX, но мне просто нужны первые 4 цифры. Теперь я сделал (глобальный) javascript, чтобы получить идентификатор locationID через ajax.Получите входную переменную после ее заполнения, затем выполните ajax

Единственная проблема заключается в том, что теперь im использует функцию keyup, которая активируется, когда кто-то вводит в zipcode. Но я хочу, чтобы он активировался, когда пользователь набрал что-то и нажмет на другое поле. Как я могу это сделать ?

$('#deliveryzip').bind('keyup change', function(){ 

    //Get zip 
    var zip = $('#deliveryzip').val(); 

    //Strip first 4 chars from input 
    //check if 4 chars are integer 
    //if all ok do ajax... 

    //Get locationID from zipcode 
    $.post(jssitebaseUrl+'/ajaxFile.php',{"zip":zip,"action":"getLocInfo"},function(response){ 
     if(response == "ok"){ 
      alert(response); 

      //If return is ok.. 
      var show = true; 
     } 
    });  


if(show){ 
    $('#locInfo').show(); 
} else { 
    $('#locInfo').hide(); 
} 
    return false; 

}); 
+1

Ваш код кажется правильным, просто используют различные события для различных функциональных возможностей, т.е. «KeyUp» для проверки «изменение» для АЯКС Дон» t объединяются как в одном. – kcak11

+0

вы можете связать событие onblur – Myth

ответ

2

Вместо прослушивания события KeyUp , почему бы вам просто не послушать событие изменения?

$('#deliveryzip').on('change', function(){....}); 

срабатывает событие изменения, когда поле ввода изменилось, и как только оно теряет фокус (например, с помощью пользовательского щелчка на другом элементе). См http://msdn.microsoft.com/en-us/library/ie/ms536912(v=vs.85).aspx для получения дополнительной информации (от Microsof) и здесь документация от Mozilla https://developer.mozilla.org/en-US/docs/Web/Reference/Events/change

0

Вы можете использовать ONBLUR функцию: http://www.w3schools.com/jsref/event_onblur.asp

Событие ONBLUR происходит, когда объект теряет фокус.

Onblur чаще всего используется с кодом проверки формы (например, когда пользователь покидает поле формы).

Совет. Событие onblur является противоположным событию onfocus.

С JQuery: на ("размытость", обработчик)

+1

Использование onBlur может не наилучшим решением, так как полученное местоположение должно отображаться не только тогда, когда фокус потерян (пользователь щелкает в любом месте за пределами элемента управления), но только когда пользователь заканчивает свой ввод, поэтому событие onChange, по-видимому, более подходит – alex

+0

проголосовало .. собирался на onBlur, но не думал об этом. Спасибо! – rZaaaa

Смежные вопросы