Form onsubmit versus submit-button-onclick
UPDATE
Von @BrendanEich
@mplungjan onclick des submit-nur fällt aus, dass eine Taste; - Formular "onsubmit" ist deutlich besser.
Was wären die Gründe, immer verwenden Sie die onclick der Schaltfläche "senden", um zu bestimmen, ob oder ob nicht die form soll eingereicht werden?
Ich glaube stark, dass
- zu führen etwas vor dem Absenden und Abbrechen der Abgabe im Falle eines Fehlers wird das Formular "onsubmit" - Ereignis ist die offensichtliche Ort, um es
- Wenn Sie das onclick der Schaltfläche "senden" und entscheiden sich später für die Verwendung von type="image" der event-handler wird nicht in vielen Browsern
- wenn Sie ändern die submit-Buttons, müssen Sie fügen Sie eine senden-an den onclick-event-handler zu.
Ich bin auf der Suche nach starken Gründen zu bevorzugen, die mit einem submit-button onclick-Ereignis über das Formular "onsubmit".
UPDATE: Bitte nicht, ich bin persönlich auch bemerken, dass viele der Themen rund um Formularübertragung und-Validierung.
Zum Beispiel, dass die Einreichung von javascript wird nicht ausgelöst das onsubmit -
http://jsfiddle.net/mplungjan/3A4Ha/
<form onsubmit="alert('onSubmit called')">
<input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
<input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
Auch, dass der IE nicht ausgelöst wird, das onclick-wenn Sie die EINGABETASTE drücken in der form, in meinem fiddle
Geschichte:
Habe in einer Diskussion hier
html button nicht anklickbar, ohne deaktiviert
Ich habe eine Intensive Abneigung gegen die onclick der Schaltfläche "senden" für ALLES, was durch viele1 Jahre sehen dies nicht funktionieren, in einer Reihe von Browsern, überwiegend ältere version von IE.
Ich habe ein paar von den offensichtlichen Gründen, aber ich bin sicher, Sie werden nicht überzeugen, die gehärtet Benutzer.
Können, SO dass die community mir helfen nail diese in die Wand, wie Sie genagelt w3schools?
Auch fühlen sich frei, um Kommentare zu wie kann ich einen Satz dieser Frage in einer akzeptablen Art und Weise.
1: seit den Tagen von NS2.x und IE3.02
Ich Stimme mit onsubmit des Formulars - das umfasst auch, die Sie Einreichen, über die enter-Taste anstatt der Schaltfläche abschicken.
Mögliche Duplikate von: stackoverflow.com/questions/4529012/...
Ohne Paul ist es NICHT ein Duplikat. Ich kenne den Unterschied. Ich bin auf der Suche nach guten Argumenten auf nicht-Verwendung von onclick überhaupt.
Vielen Dank für die Geige
InformationsquelleAutor mplungjan | 2011-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Formular "onsubmit" ist ein richtiger Ansatz, aus dem einfachen Grund, dass ein Formular kann auch eingereicht werden, mit der
<ENTER>
Schlüssel, und nicht nur durch klicken auf die senden-Schaltfläche.Das auch 🙂 Aber ich tendiere zu geben, ein mehr praktisches Beispiel. Gut nennen obwohl.
Nur der Vollständigkeit halber, für zukünftige Besucher. 🙂 Aber ja, Sie bedeckt 99% der use-case -, das ist der Grund, warum ich gerade kommentiert auf Ihre Antwort anstatt meine eigenen.
Einreichung mithilfe von Skripts ist ein Spezialfall, da es umgeht das onsubmit-handler - siehe update
nicht für einen Grund. Wenn es ein submit-button, es wird geklickt beim drücken der EINGABETASTE in einem Textfeld - siehe die fiddle in meinem update
InformationsquelleAutor Madara Uchiha