<form> HTML-Formular-Element
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Das <form> HTML-Element repräsentiert einen Dokumentabschnitt, der interaktive Steuerelemente zum Übermitteln von Informationen enthält.
Probieren Sie es aus
<form action="" method="get" class="form-example">
<div class="form-example">
<label for="name">Enter your name: </label>
<input type="text" name="name" id="name" required />
</div>
<div class="form-example">
<label for="email">Enter your email: </label>
<input type="email" name="email" id="email" required />
</div>
<div class="form-example">
<input type="submit" value="Subscribe!" />
</div>
</form>
form.form-example {
display: table;
}
div.form-example {
display: table-row;
}
label,
input {
display: table-cell;
margin-bottom: 10px;
}
label {
padding-right: 10px;
}
Es ist möglich, die CSS :valid und :invalid Pseudoklassen zu verwenden, um ein <form>-Element basierend darauf zu stylen, ob die elements innerhalb des Formulars gültig sind.
Attribute
Dieses Element enthält die globalen Attribute.
accept-
Durch Kommas getrennte Inhaltstypen, die der Server akzeptiert.
Hinweis: Dieses Attribut ist veraltet und sollte nicht verwendet werden. Verwenden Sie stattdessen das
accept-Attribut für<input type=file>-Elemente. accept-charset-
Die von dem Server akzeptierte Zeichenkodierung. Die Spezifikation erlaubt einen einzelnen, nicht großgeschriebenen Wert von
"UTF-8", der die allgemeine Verbreitung dieser Kodierung widerspiegelt (historisch konnten mehrere Zeichenkodierungen als durch Kommas oder Leerzeichen getrennte Liste angegeben werden). autocapitalize-
Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, in welcher Weise. Weitere Informationen finden Sie auf der globalen Attributseite für
autocapitalize. autocomplete-
Gibt an, ob Eingabefelder standardmäßig automatisch von dem Browser vervollständigt werden können.
autocomplete-Attribute an Formularelementen überschreiben es in<form>. Mögliche Werte:off: Der Browser sollte Eingaben nicht automatisch vervollständigen. (Browser neigen dazu, dies bei vermuteten Anmeldeformularen zu ignorieren; siehe Verwalten des Autofills für Anmeldefelder.)on: Der Browser kann Eingaben automatisch vervollständigen.
name-
Der Name des Formulars. Der Wert darf nicht leer sein und muss innerhalb der Formulare in der Formsammlung eindeutig sein, falls vorhanden. Der Name wird zu einer Eigenschaft des
Window-,Document- unddocument.forms-Objekts, welche eine Referenz auf das Formularelement enthält. rel-
Steuert die Annotationen und welche Art von Links das Formular erstellt. Annotationen umfassen
external,nofollow,opener,noopenerundnoreferrer. Linktypen umfassenhelp,prev,next,searchundlicense. Derrel-Wert ist eine durch Leerzeichen getrennte Liste dieser enumerierten Werte.
Attribute für die Formularübermittlung
Die folgenden Attribute steuern das Verhalten während der Formularübermittlung.
action-
Die URL, die die Formularübermittlung verarbeitet. Dieser Wert kann durch ein
formaction-Attribut an einem<button>,<input type="submit">oder<input type="image">-Element überschrieben werden. Dieses Attribut wird ignoriert, wennmethod="dialog"gesetzt ist. enctype-
Wenn der Wert des
method-Attributspostist, istenctypeder MIME-Typ der Formularübermittlung. Mögliche Werte:application/x-www-form-urlencoded: Der Standardwert.multipart/form-data: Verwenden Sie dies, wenn das Formular<input>-Elemente mittype=fileenthält.text/plain: Nützlich für Debugging-Zwecke.
Dieser Wert kann durch
formenctype-Attribute an<button>,<input type="submit">oder<input type="image">-Elementen überschrieben werden. method-
Die HTTP-Methode zur Übermittlung des Formulars. Die einzig erlaubten Methoden/Werte sind (groß-/kleinschreibungsunabhängig):
post: DiePOST-Methode; Formulardaten werden als Anforderungskörper gesendet.get(standardmäßig): DieGET-Methode; Formulardaten werden mit einem?-Separator an dieaction-URL angehängt. Verwenden Sie diese Methode, wenn das Formular keine Nebenwirkungen hat.dialog: Wenn sich das Formular in einem<dialog>befindet, schließt es den Dialog und löst bei Übermittlung einsubmit-Ereignis aus, ohne Daten zu übermitteln oder das Formular zu leeren.
Dieser Wert wird durch
formmethod-Attribute an<button>,<input type="submit">oder<input type="image">-Elementen überschrieben. novalidate-
Dieses Boolean-Attribut gibt an, dass das Formular beim Absenden nicht validiert werden soll. Wenn dieses Attribut nicht gesetzt ist (und daher das Formular validiert wird), kann es durch ein
formnovalidate-Attribut an einem<button>,<input type="submit">oder<input type="image">-Element, das zu dem Formular gehört, überschrieben werden. target-
Gibt an, wo die Antwort nach dem Absenden des Formulars angezeigt werden soll. Es ist ein Name/Schlüsselwort für einen Browsing-Kontext (z.B. Registerkarte, Fenster oder iframe). Die folgenden Schlüsselwörter haben spezielle Bedeutungen:
_self(standardmäßig): In den gleichen Browsing-Kontext wie den aktuellen laden._blank: In einen neuen, unbenannten Browsing-Kontext laden. Dies ermöglicht das gleiche Verhalten wie das Setzen vonrel="noopener", daswindow.openernicht setzt._parent: In den übergeordneten Browsing-Kontext des aktuellen laden. Wenn kein übergeordneter Kontext vorhanden ist, verhält es sich wie_self._top: In den obersten Browsing-Kontext laden (d.h. den Browsing-Kontext, der ein Vorfahre des aktuellen ist und keinen übergeordneten Kontext hat). Wenn kein übergeordneter Kontext vorhanden ist, verhält es sich wie_self._unfencedTop: Lädt die Antwort aus einem Formular innerhalb eines eingebetteten abgegrenzten Rahmens in den obersten Rahmen (d.h. über die Wurzel des abgegrenzten Rahmens hinausgehend, anders als andere reservierte Ziele). Nur innerhalb von abgegrenzten Rahmen verfügbar.
Dieser Wert kann durch ein
formtarget-Attribut an einem<button>,<input type="submit">oder<input type="image">-Element überschrieben werden.
Beispiele
<!-- Form which will send a GET request to the current URL -->
<form method="get">
<label>
Name:
<input name="submitted-name" autocomplete="name" />
</label>
<button>Save</button>
</form>
<!-- Form which will send a POST request to the current URL -->
<form method="post">
<label>
Name:
<input name="submitted-name" autocomplete="name" />
</label>
<button>Save</button>
</form>
<!-- Form with fieldset, legend, and label -->
<form method="post">
<fieldset>
<legend>Do you agree to the terms?</legend>
<label><input type="radio" name="radio" value="yes" /> Yes</label>
<label><input type="radio" name="radio" value="no" /> No</label>
</fieldset>
</form>
Ergebnis
Technische Zusammenfassung
| Inhaltskategorien | Flow-Inhalt, fühlbarer Inhalt |
|---|---|
| Erlaubter Inhalt |
Flow-Inhalt, jedoch keine <form>-Elemente enthaltend
|
| Tag-Auslassung | Keine, sowohl der Start- als auch der End-Tag sind obligatorisch. |
| Erlaubte Eltern | Jedes Element, das Flow-Inhalt akzeptiert |
| Implizierte ARIA-Rolle |
form
|
| Erlaubte ARIA-Rollen |
search,
none
oder presentation
|
| DOM-Schnittstelle | [`HTMLFormElement`](/de/docs/Web/API/HTMLFormElement) |
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-form-element> |
Browser-Kompatibilität
Siehe auch
- HTML Formular-Leitfaden
- Andere Elemente, die beim Erstellen von Formularen verwendet werden:
<button>,<datalist>,<fieldset>,<input>,<label>,<legend>,<meter>,<optgroup>,<option>,<output>,<progress>,<select>,<textarea>. - Eine Liste der Elemente im Formular erhalten:
HTMLFormElement.elements - ARIA: Formularrolle
- ARIA: Suchrolle