jquery: ajax POST innerhalb eines Formulars - verhindert die Übermittlung von Formularen bei einem AJAX-Aufruf

8

Ich versuche, einen Ajax-Aufruf innerhalb eines Formulars auszuführen (ein Drupal-Knoten-Bearbeitungsformular), aber es scheint, als würde der Aufruf das Formular aus irgendeinem Grund übergeben. Hier ist ein Beispielcode:

%Vor%

Ich kann das einfach replizieren, indem ich es in der Konsole ausfühle, aber ich füge das an eine Knopfklickfunktion innerhalb des Formulars an. Gibt es Tipps zum Verhindern, dass das Formular bei einem POST-Ajax-Aufruf gesendet wird?

Hier ist der vollständige Code wie angefordert

%Vor%     
giorgio79 14.11.2011, 12:58
quelle

3 Antworten

11

Sie müssen das Onsubmit-Ereignis des Formulars überschreiben, um das Senden zu verhindern:

%Vor%

Durch Aufruf von

%Vor%

Sie verhindern, dass ein synchrones Postback auftritt.

UPDATE: Wenn Sie das Übermitteln von Formularen nicht überschreiben möchten, könnten Sie Ihre Schaltfläche möglicherweise außerhalb des Formular-Tags platzieren (Sie können die Position ggf. mit CSS anpassen)?

    
Goran Obradovic 14.11.2011, 13:03
quelle
1

Wenn Sie eine Schaltfläche input type="submit" verwenden, müssen Sie am Ende der Funktion ein return false; ausführen, um zu verhindern, dass die Vorlage gesendet wird .

Eine andere Lösung ist, e.preventDefault () auf die Schaltfläche klicken

%Vor%     
Niels 14.11.2011 13:01
quelle
0

Sie können den Übergabetasten-Typ auf nur einen Schaltflächentyp ändern und das Ereignis "onclick" zu dieser Schaltfläche hinzufügen. input type="button" wert="savebutton" onclick="zurückgeben doThisOnClick ();"

%Vor%

Ich denke, das ist am einfachsten.

    
Kishore 06.01.2016 22:48
quelle

Tags und Links