Frage

Ich habe ein kleines Problem mit jQuery: Ich bin .submit() auf einem Formular definiert ist, wenn ich das Formular durch den Absenden-Button klicken, die auch Auslöser und die Dinge reibungslos funktioniert, aber wenn ich document.forms[0].submit() verwenden, wird das Ereignis nicht ausgelöst werden, aber das Formular abschickt !! Gibt es einen Grund, warum? Wie kann ich das überwinden?

War es hilfreich?

Lösung

Das ist nur die Art und Weise funktioniert es -. Die native .submit() Aufruf nicht die JavaScript-Event-Handler auslösen

Mit dem jQuery .submit() statt:

$('form:first').submit();

Andere Tipps

Wenn das Formular senden, wie dies gestattet

<form method="POST" id="the_waffle_form">

Dann können Sie es einreichen, indem Sie diese.

$("#the_waffle_form").submit();

Überprüfen Sie die Dokumentation für weitere große Beispiele aus.

Es gibt einige von uns hier aus, dass Code von Legacy-Systemen zu verwenden sind gezwungen. Diese Systeme sind nicht kompatibel ist, und in meinem Fall warten aufgerüstet werden. Aber wenn mehrere tausend Menschen das System verwenden, dann ist es einfach nicht möglich zu gehen und Code-Pakete zur Basislinie ändern. Also, sind wir gezwungen, Umgehungen zu finden. In meinem Fall haben die Formulare nicht IDs oder Namen, so document.forms[0].submit() verwendet, ist eine der wenigen Optionen.

Das mag seltsam klingen, aber warum verwenden Sie auch document.forms[0].submit() wenn Sie jQuery verwenden bereits.

Simple (vielleicht dumm?) Vorschlag: Verwenden Sie document.forms[0].submit() Verwendung nicht diese stattdessen

$("#hereidofyourform").submit()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top