2011-01-10 9 views
5

Ich verwende Ajax-Funktionalität. Wenn ich einen Vorschlag mithilfe der Eingabetaste auswähle, wird das Formular automatisch gesendet, da die Schaltfläche zum Senden automatisch ausgewählt wird. Gibt es eine Möglichkeit, mit der Enter-Taste einen Ajax-Vorschlag auszuwählen und das Formular mit der Enter-Taste abzuschicken. So wie wenn ich die Werte aller Felder eingabe, dann wird nur die Schaltfläche "Senden" aktiviert.Deaktivieren Sie die Formularübergabe beim Drücken der Eingabetaste, da ich Ajax-Funktionalität verwende

Antwort

4

Wie rufst du deine Ajax-Funktion an? Es sollte in dem submit Ereignishandler des Formulars sein. Und dann, wenn Sie den Event-Handler Rückkehr false haben wird es normalerweise nicht einreichen:

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

Es scheint nicht so zu sein, dass dies das Problem lösen würde, da das Drücken der Eingabetaste auf dem Auto-Vervollständigen-Feld immer noch eine AJAX-Übermittlung verursachen würde. – kprevas

+0

aber ich benutze eine Formular-Validator-Methode für den Aufruf von onsubmit, wie ich diese Methode aufrufen würde, wenn doAjaxSubmit() tun würde. –

2

können Sie erkennen, welche Taste gedrückt wird, um die .keypress() Methode. Daraus sollten Sie zu return false; der Lage sein, für Formular auf der Rückseite der es Ihre Ajax-Sachen einreichen und tun in einer if Aussage:

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

+0

Ich benutze keine Jquery für die Ajax-Funktionalität, also kann ich die Jquery.keypress() -Funktion nicht verwenden. –

1

Sie können das Formular onSubmit Rückkehr true haben, wenn alle Felder Werte aufweisen, oder false wenn sie es nicht tun.

Verwandte Themen