input type="submit"
und button
Tag sind sie austauschbar? oder wenn es einen Unterschied gibt, input type="submit"
wann und wann button
?
Und wenn es keinen Unterschied gibt, warum haben wir dann 2 Tags für den gleichen Zweck?
html
accessibility
w3c
web-standards
semantic-markup
Jitendra Vyas
quelle
quelle
button
und dasvalue
Attribut in einer Version von IEinput
sendet nur das, was Sie erwartet haben, eine Version von IE spielt nicht gut mitbutton
s.input type="button"
vsbutton type=button
: stackoverflow.com/questions/469059/…Antworten:
http://www.w3.org/TR/html4/interact/forms.html#h-17.5
Nur für die Funktionalität sind sie austauschbar!
(Vergiss nicht,
type="submit"
ist die Standardeinstellung mitbutton
, also lass es aus!)quelle
type="submit"
mit Knopf, als Standard fürtype
istsubmit
.type
Standard warbutton
. Ich bevorzuge es, jedes Attribut zu explizieren, um Inkonsistenzen im Browser zu vermeiden.Das
<input type="button">
ist nur ein Knopf und macht nichts für sich. Das<input type="submit">
, wenn sie in einem Formularelement, wird das Formular abschicken , wenn darauf geklickt.Eine weitere nützliche Schaltfläche ist die Schaltfläche zum
<input type="reset">
Löschen des Formulars.quelle
<input>
und<button>
Tags. Sie haben<input>
in Ihrer Antwort nützliche Informationen angegeben , aber es fehlt die<button>
Seite.Verwenden Sie das <button> -Tag anstelle von <input type = "button" ..> . Dies wird in Bootstrap 3 empfohlen.
http://getbootstrap.com/css/#buttons-tags
quelle
button
ist weitaus expliziter,aria
verfügt über Eingabehilfen und ist viel einfacher zu gestalten. Es ist auch zukunftsorientiert, da es sich um HTML5 handelt.Obwohl beide Elemente funktional das gleiche Ergebnis liefern *, empfehle ich dringend die Verwendung von
<button>
:input
schlägt vor, dass das Steuerelement bearbeitet werden kann oder vom Benutzer bearbeitet werden kann;button
ist in Bezug auf den Zweck, dem es dient, weitaus expliziterinput[type="submit"]
in einigen Fällen nicht richtig angezeigt werdenPOST
/ gesendet werdenGET
an den Server gesendet werden* * Mit der Ausnahme, dass standardmäßig kein bestimmtes Verhalten vorliegt.
<button type="button">
Zusammenfassend rate ich dringend von der Verwendung von
<input type="submit" />
.quelle
<input type='submit' />
unterstützt kein HTML darin, da es sich um ein einzelnes selbstschließendes Tag handelt.<button>
unterstützt andererseits HTML, Bilder usw. im Inneren, da es sich um ein Tag-Paar handelt :<button><img src='myimage.gif' /></button>
.<button>
ist auch flexibler, wenn es um CSS-Styling geht.Der Nachteil von
<button>
ist, dass es von älteren Browsern nicht vollständig unterstützt wird. IE6 / 7 zeigt es beispielsweise nicht richtig an.Wenn Sie keinen bestimmten Grund haben, ist es wahrscheinlich am besten, sich daran zu halten
<input type='submit' />
.quelle
<input type="submit" value="Log In" />
<button>
zugunsten von etwas Neuem veraltet . Bedeutet das, dass wir in den Antworten überhaupt kein bestimmtes Tag erwähnen sollten, da es sich irgendwann in der Zukunft ändern könnte ? Ich würde es vorziehen, es dem Leser als Übung zu überlassen, um festzustellen, wie die Antworten auf ihre Situation zutreffen. Solange die Informationen für den Leser wertvoll sind, sehe ich das Problem nicht darin, sie aufzunehmen.Mir ist klar, dass dies eine alte Frage ist, aber ich habe sie auf mozilla.org gefunden und denke, dass sie zutrifft.
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/My_first_HTML_form#And_a_<button>_to_finish
quelle
<button type="button">
, um einen Schieberegler / ein Karussell zur nächsten Folie zu bewegen .<button>
ist neuer als<input type="submit">
, ist semantischer, einfach zu stilisieren und unterstützt HTML darin.quelle
Während die anderen Antworten großartig sind und die Frage beantworten, gibt es eine Sache, die bei der Verwendung von
input type="submit"
und zu beachten istbutton
. Mit einem könneninput type="submit"
Sie kein CSS-Pseudoelement für die Eingabe verwenden, aber Sie können für eine Schaltfläche!Dies ist ein Grund, ein
button
Element über einer Eingabe zu verwenden, wenn es um das Styling geht.quelle
Ich weiß nicht, ob dies ein Fehler oder eine Funktion ist, aber es gibt einen sehr wichtigen (zumindest in einigen Fällen) Unterschied, den ich festgestellt habe:
<input type="submit">
Erstellt ein Schlüsselwertpaar in Ihrer Anfrage und<button type="submit">
tut dies nicht. Getestet in Chrome und Safari.Wenn Sie also mehrere Senden-Schaltflächen in Ihrem Formular haben und wissen möchten, auf welche geklickt wurde, verwenden Sie diese nicht
button
, verwenden Sieinput type="submit"
stattdessen nicht.quelle
Wenn du redest
<input type=button>
, wird das Formular nicht automatisch gesendetwenn Sie über die sprechen
<button>
Tag , ist es neuer und wird nicht automatisch in allen Browsern gesendet.Fazit: Wenn Sie möchten, dass das Formular beim Klicken in allen Browsern gesendet wird, verwenden Sie
<input type="submit">
quelle
<button type="submit">
Formulare automatisch senden.