2011-01-10 21 views
5

Używam funkcji ajax. Kiedy wybieram dowolną sugestię za pomocą klawisza Enter, formularz zostanie przesłany automatycznie, ponieważ przycisk przesyłania jest automatycznie ustawiany. Czy istnieje sposób, aby wybrać sugestię ajax za pomocą klawisza Enter, a także przesłać formularz za pomocą klawisza Enter. Coś jak podczas wprowadzania wartości wszystkich pól, a następnie tylko przycisk włącz przycisk włączony.Wyłączanie przesyłania formularzy po naciśnięciu klawisza Enter, ponieważ używam funkcjonalności Ajax

Odpowiedz

4

Jak nazywasz swoją funkcję Ajax? Powinien być w środku obsługi zdarzeń formularza. A potem, jeśli masz zwrot obsługi zdarzenia false nie złoży normalnie:

<form onsubmit="doAjaxSubmit(); return false;"> 
    ... 
</form> 
+0

Wygląda na to, że to nie rozwiąże problemu, ponieważ naciśnięcie klawisza Enter na polu autouzupełniania nadal spowoduje przesłanie AJAX. – kprevas

+0

, ale używam jednej metody sprawdzania poprawności formularza na wywołanie onsubmit, jak będę wywoływać tę metodę, jeśli nie byłoby AjaxSubmit(). –

2

Można wykryć który klawisz jest wciśnięty przy użyciu metody .keypress(). Od tego powinien być w stanie return false; do formy przedstawienia i zrobić swoje ajax rzeczy na plecach go w oświadczeniu if:

http://api.jquery.com/keypress/

+0

Nie używam jquery dla funkcji ajax, więc nie można użyć funkcji Jquery.keypress(). –

1

możesz mieć swój formularza onSubmit powrót true jeśli wszystkie pola mają wartości, lub false, jeśli nie.

Powiązane problemy