`<input type="submit">`
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
<input>
-Elemente vom Typ submit
werden als Schaltflächen dargestellt. Wenn das click
-Ereignis auftritt (in der Regel, weil der Benutzer die Schaltfläche angeklickt hat), versucht der Benutzeragent, das Formular an den Server zu senden.
Wert
Das value
-Attribut eines <input type="submit">
-Elements enthält einen String, der als Beschriftung der Schaltfläche angezeigt wird. Schaltflächen haben ansonsten keinen echten Wert. Der value
stellt die zugängliche Beschreibung der Schaltfläche bereit.
Das value-Attribut festlegen
<input type="submit" value="Send Request" />
Das value-Attribut weglassen
Wenn Sie keinen value
angeben, hat die Schaltfläche eine Standardbeschriftung, die vom Benutzeragenten gewählt wird. Diese Beschriftung könnte so etwas wie "Submit" oder "Submit Query" sein. Hier ist ein Beispiel einer Absende-Schaltfläche mit einer Standardbeschriftung in Ihrem Browser:
<input type="submit" />
Zusätzliche Attribute
Neben den Attributen, die von allen <input>
-Elementen gemeinsam genutzt werden, unterstützen submit
-Schaltflächeneingaben die folgenden Attribute.
formaction
Ein String, der die URL angibt, an welche die Daten gesendet werden sollen. Dieser hat Vorrang vor dem action
-Attribut des <form>
-Elements, dem das <input>
gehört.
Dieses Attribut ist auch auf <input type="image">
und <button>
-Elementen verfügbar.
formenctype
Ein String, der die Kodierungsmethode identifiziert, die beim Senden der Formulardaten an den Server verwendet werden soll. Es gibt drei erlaubte Werte:
application/x-www-form-urlencoded
-
Dies, der Standardwert, sendet die Formulardaten als String, nachdem der Text mit einem Algorithmus wie
encodeURI()
prozentcodiert wurde. multipart/form-data
-
Verwendet die
FormData
-API, um die Daten zu verwalten, wodurch Dateien an den Server gesendet werden können. Sie müssen diesen Kodierungstyp verwenden, wenn Ihr Formular ein<input>
-Element vomtype
file
(<input type="file">
) enthält. text/plain
-
Klartext; hauptsächlich nützlich zur Fehlersuche, da Sie die zu übermittelnden Daten leicht sehen können.
Wenn angegeben, überschreibt der Wert des formenctype
-Attributs das action
-Attribut des zugehörigen Formulars.
Dieses Attribut ist auch auf <input type="image">
und <button>
-Elementen verfügbar.
formmethod
Ein String, der die HTTP-Methode angibt, die beim Senden der Formulardaten verwendet werden soll; dieser Wert überschreibt jedes method
-Attribut, das dem zugehörigen Formular gegeben wurde. Erlaubte Werte sind:
get
-
Eine URL wird konstruiert, indem mit der URL begonnen wird, die durch das
formaction
- oderaction
-Attribut angegeben ist, ein Fragezeichen ("?") gefolgt von den Formulardaten angehängt wird, die erläutert wie durch dasformenctype
-Attribut oder dasenctype
-Attribut des Formulars kodiert sind. Diese URL wird dann mit einer HTTP-get
-Anfrage an den Server gesendet. Diese Methode funktioniert gut für einfache Formulare, die nur ASCII-Zeichen enthalten und keine Seiteneffekte haben. Dies ist der Standardwert. post
-
Die Formulardaten werden im Körper der Anfrage gesendet, die mittels einer HTTP-
post
-Methode an die URL gegeben durch dasformaction
oderaction
-Attribut gesendet wird. Diese Methode unterstützt komplexe Daten und Dateianhänge. dialog
-
Diese Methode wird verwendet, um anzugeben, dass die Schaltfläche den Dialog schließt, mit dem die Eingabe verknüpft ist, und die Formulardaten überhaupt nicht übermittelt.
Dieses Attribut ist auch auf <input type="image">
und <button>
-Elementen verfügbar.
formnovalidate
Ein boolesches Attribut, das, wenn es vorhanden ist, angibt, dass das Formular vor dem Senden an den Server nicht validiert werden soll. Dies überschreibt den Wert des novalidate
-Attributs des zugehörigen Formulars.
Dieses Attribut ist auch auf <input type="image">
und <button>
-Elementen verfügbar.
formtarget
Ein String, der einen Namen oder ein Schlüsselwort angibt, das anzeigt, wo die nach dem Senden des Formulars empfangene Antwort angezeigt werden soll. Der String muss der Name eines Browsing-Kontextes sein (das heißt, eines Tabs, Fensters oder <iframe>
). Ein hier angegebener Wert überschreibt jedes Ziel, das durch das target
-Attribut des Formulars, dem diese Eingabe gehört, angegeben ist.
Neben den eigentlichen Namen von Tabs, Fenstern oder Inline-Frames gibt es einige spezielle Schlüsselwörter, die verwendet werden können:
_self
-
Läd die Antwort in denselben Browsing-Kontext wie das Formular. Dadurch wird das aktuelle Dokument mit den empfangenen Daten ersetzt. Dies ist der Standardwert, wenn keiner angegeben ist.
_blank
-
Läd die Antwort in einen neuen, unbenannten Browsing-Kontext. Dies ist typischerweise ein neuer Tab im selben Fenster wie das aktuelle Dokument, kann aber je nach Konfiguration des Benutzeragenten variieren.
_parent
-
Läd die Antwort in den übergeordneten Browsing-Kontext des aktuellen Kontexts. Wenn kein übergeordneter Kontext vorhanden ist, verhält sich dies wie
_self
. _top
-
Läd die Antwort in den obersten Browsing-Kontext; dies ist der Browsing-Kontext, der der oberste Vorfahre des aktuellen Kontexts ist. Wenn der aktuelle Kontext der oberste Kontext ist, verhält sich dies wie
_self
.
Dieses Attribut ist auch auf <input type="image">
und <button>
-Elementen verfügbar.
Verwendung von Absende-Schaltflächen
<input type="submit">
-Schaltflächen werden zum Senden von Formularen verwendet. Wenn Sie eine benutzerdefinierte Schaltfläche erstellen und dann das Verhalten mit JavaScript anpassen möchten, sollten Sie <input type="button">
oder besser noch ein <button>
-Element verwenden.
Wenn Sie sich entscheiden, <button>
-Elemente zu verwenden, um die Schaltflächen in Ihrem Formular zu erstellen, beachten Sie Folgendes: Wenn sich der <button>
innerhalb eines <form>
befindet, wird diese Schaltfläche als "Absende"-Schaltfläche behandelt. Sie sollten also immer deutlich angeben, welche Schaltfläche die Absende-Schaltfläche ist.
Eine einfache Absende-Schaltfläche
Wir beginnen mit der Erstellung eines Formulars mit einer einfachen Absende-Schaltfläche:
<form>
<div>
<label for="example">Let's submit some text</label>
<input id="example" type="text" name="text" />
</div>
<div>
<input type="submit" value="Send" />
</div>
</form>
Dies wird wie folgt gerendert:
Versuchen Sie, Text in das Textfeld einzugeben und dann das Formular abzusenden.
Beim Absenden werden das Daten-Name/Wert-Paar an den Server gesendet. In diesem Fall wird der String text=user-text
sein, wobei "user-text" der vom Benutzer eingegebene Text ist, kodiert, um Sonderzeichen beizubehalten. Wo und wie die Daten gesendet werden, hängt von der Konfiguration des <form>
-Elements ab; siehe Senden von Formulardaten für weitere Details.
Hinzufügen einer Tastenkombination zu einer Absende-Schaltfläche
Tastenkombinationen, auch Zugriffs-Tasten und Tastatur-Äquivalente genannt, ermöglichen es dem Benutzer, eine Schaltfläche mit einer Taste oder einer Tastenkombination auf der Tastatur auszulösen. Um einer Absende-Schaltfläche eine Tastenkombination hinzuzufügen – ebenso wie für jedes <input>
, für das es sinnvoll ist – verwenden Sie das globale Attribut accesskey
.
In diesem Beispiel wird s als Zugriffstaste spezifiziert (Sie müssen s plus die spezifischen Modifikatortasten für Ihre Browser/OS-Kombination drücken). Um Konflikte mit den eigenen Tastenkombinationen des Benutzeragenten zu vermeiden, werden für Zugriffstasten andere Modifikatortasten verwendet als für andere Tastenkürzel auf dem Hostrechner. Weitere Einzelheiten finden Sie unter accesskey
.
Hier ist das vorherige Beispiel mit der Zugriffstaste s hinzugefügt:
<form>
<div>
<label for="example">Let's submit some text</label>
<input id="example" type="text" name="text" />
</div>
<div>
<input type="submit" value="Send" accesskey="s" />
</div>
</form>
Zum Beispiel löst in Firefox für Mac das Drücken von Control-Option-S die Senden-Schaltfläche aus, während in Chrome unter Windows Alt+S verwendet wird.
Das Problem mit dem obigen Beispiel ist, dass der Benutzer nicht weiß, was die Zugriffstaste ist! Dies ist besonders problematisch, da die Modifikatoren in der Regel nicht standardisiert sind, um Konflikte zu vermeiden. Wenn Sie eine Website erstellen, sollten Sie diese Information in einer Weise bereitstellen, die das Design der Website nicht stört (z. B. durch einen leicht zugänglichen Link, der auf Informationen zu den Zugriffstasten der Website verweist). Das Hinzufügen eines Tooltips zur Schaltfläche (mithilfe des title
-Attributs) kann ebenfalls hilfreich sein, obwohl dies keine vollständige Lösung für Barrierefreiheitszwecke darstellt.
Deaktivieren und Aktivieren einer Absende-Schaltfläche
Um eine Absende-Schaltfläche zu deaktivieren, geben Sie das disabled
-Attribut an, wie folgt:
<input type="submit" value="Send" disabled />
Sie können Schaltflächen zur Laufzeit aktivieren und deaktivieren, indem Sie disabled
auf true
oder false
setzen; in JavaScript sieht dies aus wie btn.disabled = true
oder btn.disabled = false
.
Hinweis: Weitere Ideen zum Aktivieren und Deaktivieren von Schaltflächen finden Sie auf der Seite <input type="button">
.
Validierung
Absende-Schaltflächen nehmen nicht an der Einschränkungsvalidierung teil; sie haben keinen echten Wert, der eingeschränkt werden könnte.
Beispiele
Wir haben oben grundlegende Beispiele enthalten. Es gibt wirklich nicht viel mehr zu Absende-Schaltflächen zu sagen. Es gibt einen Grund, warum diese Art von Steuerelement manchmal als "einfache Schaltfläche" bezeichnet wird.
Technische Zusammenfassung
Wert | Ein String, der als Beschriftung der Schaltfläche verwendet wird |
Ereignisse | [`click`](/de/docs/Web/API/Element/click_event) |
Unterstützte gemeinsame Attribute |
type und
value
|
IDL-Attribute | value |
DOM-Schnittstelle |
[`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement) |
Methoden | Keine |
Implizite ARIA-Rolle | button |
Spezifikationen
Specification |
---|
HTML Standard # submit-button-state-(type=submit) |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
<input>
und dieHTMLInputElement
-Schnittstelle, die es implementiert.- Formulare und Schaltflächen
- HTML-Formulare
- Das
<button>
-Element - Kompatibilität von CSS-Eigenschaften