jquery Klicken Sie auf () im Senden-Button

8

Ich habe eine .click () -Funktion auf eine Übermittlungsschaltfläche in einem Formular:

%Vor%

Es funktioniert wie ein Zauber. Wenn der Submit-Button angeklickt wird, füllt die click () - Funktion die versteckte Eingabevariable und dann wird das gesamte Formular gesendet. Der Server empfängt dann die verborgene Eingabe mit dem aktualisierten Inhalt.

Meine Frage ist: Wird es immer funktionieren? Besteht die Gefahr, dass aus irgendeinem Grund die Submit-Operation zuerst ausgeführt wird und die click () -Funktion später ausgeführt wird? Ich möchte sicherstellen, dass die versteckte Eingabe immer aktualisiert wird.

    
iteam 04.11.2014, 23:23
quelle

4 Antworten

19

Wenn Sie mit Formularen arbeiten, ist es immer ratsam, die submit -Schaltfläche ihre Aufgabe ausführen zu lassen: DAS EVENT DER FORM AUSGEBEN ... dafür ist es bestimmt. Dann würden Sie auf das submit -Ereignis auf dem form statt auf das click -Ereignis auf der submit -Schaltfläche warten.

Sie können event.preventDefault() verwenden, um die Standardübergabe des Formulars zu verhindern, so dass Sie einige Hausaufgaben machen können , dann können Sie das Formular absenden.

%Vor%

Oder einfach,

%Vor%     
PeterKA 04.11.2014 23:39
quelle
4

Es wäre am besten, die Wertaktualisierung direkt an den Submit-Handler des Formulars wie dieses anzuhängen.

%Vor%     
Travis J 04.11.2014 23:28
quelle
2

Ich persönlich denke, dass es sicherer ist, submit zu verhindern, dann setze den Wert der benötigten Eingabe und übermittele dann das Formular programmatisch. Wie:

%Vor%     
CmajSmith 04.11.2014 23:40
quelle
0

Die .click () sollte immer zuerst ausgeführt werden.

    
Justin C. 04.11.2014 23:29
quelle