`<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

html
<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:

html
<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 vom type 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- oder action-Attribut angegeben ist, ein Fragezeichen ("?") gefolgt von den Formulardaten angehängt wird, die erläutert wie durch das formenctype-Attribut oder das enctype-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 das formaction oder action-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:

html
<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:

html
<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:

html
<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