jQuery - Das Formular wird nicht mit jQuery gesendet

7

Weiter zu meinem Problem hier - jQuery on submit Validierung, mit modalen Dialog am Ende?

Es scheint, als würde das Formular einfach nicht mit jQuery übergeben. Hier ist mein Code auf einer sehr vereinfachten Ebene:

%Vor%

Wenn Sie auf den Körper klicken, wird der Testalarm angezeigt, das Formular wird jedoch nicht gesendet. Wenn Sie die Warnmeldung schließen, wird sie beim erneuten Klicken nicht mehr angezeigt.

Wenn Sie einfach auf den Absenden-Button klicken, wird der Alarm angezeigt und das Formular wird wie erwartet gesendet.

Entschuldigung für was ist (ich weiß) eine wirklich dumme Frage, aber ich bin hier ratlos. TY!

    
xn dx 01.03.2012, 08:42
quelle

1 Antwort

22

Das Problem ist, dass Sie dem Absenden-Button den Namen "submit" gegeben haben. Ändern Sie es in fast alles andere und es wird funktionieren. (Ändere auch id , am besten um sie gleich zu halten, nicht zuletzt wegen einige Browserprobleme .)

Warum: Formularelemente haben eine Eigenschaft mit dem Namen submit . Diese Funktion können Sie aufrufen, um sie einzureichen. (jQuery verwendet dies unter dem Deckblatt, wenn Sie submit für die jQuery-Instanz aufrufen.) Form-Elemente auch erhalten Eigenschaften für jedes der Felder im Formular, wobei der Name des Felds verwendet wird habe ein Feld namens "submit", es überschreibt die Funktion submit , was bedeutet, dass Sie das Formular nicht programmatisch übermitteln können.

Arbeitsbeispiel: Live-Kopie | Live-Quelle

%Vor%

(Die wesentliche Änderung ist der name="someOtherName" id="someOtherName" -Teil. Der andere ändert [die Aktion und Methode des Formulars ändern] ist so, dass es auf JSbin funktioniert.)

Seitennotiz: Sie müssen nicht return true; in Ihrem submit Event-Handler haben, um die Formularübermittlung zu erlauben. Sie müssen nur nicht return false; . : -)

    
T.J. Crowder 01.03.2012, 08:50
quelle

Tags und Links