Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

<input> HTML-Tag

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.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Das <input> HTML-Element wird verwendet, um interaktive Steuerelemente für webbasierten Formulare zu erstellen, um Daten vom Benutzer entgegenzunehmen. Je nach Gerät und User-Agent stehen eine Vielzahl von Eingabedaten- und Steuerelement-Widgets zur Verfügung. Das <input>-Element ist eines der leistungsstärksten und komplexesten in HTML, aufgrund der schieren Anzahl an Kombinationen von Eingabetypen und Attributen.

Probieren Sie es aus

<label for="name">Name (4 to 8 characters):</label>

<input
  type="text"
  id="name"
  name="name"
  required
  minlength="4"
  maxlength="8"
  size="10" />
label {
  display: block;
  font:
    1rem "Fira Sans",
    sans-serif;
}

input,
label {
  margin: 0.4rem 0;
}

<input>-Typen

Die Funktionsweise eines <input> variiert erheblich, abhängig vom Wert des type-Attributs, weshalb die verschiedenen Typen auf separaten Referenzseiten behandelt werden. Wenn dieses Attribut nicht angegeben ist, ist der Standardtyp text.

Die verfügbaren Typen sind wie folgt:

Typ Beschreibung Einfache Beispiele
button Eine Drucktaste ohne Standardverhalten, die den Wert des value-Attributs anzeigt, standardmäßig leer.
checkbox Eine Checkbox, die es ermöglicht, einzelne Werte auszuwählen oder abzuwählen.
color Ein Steuerelement zur Farbauswahl; öffnet einen Farbwähler, wenn es in unterstützenden Browsern aktiv ist.
date Ein Steuerelement zur Eingabe eines Datums (Jahr, Monat und Tag, ohne Zeit). Öffnet einen Datumsauswähler oder nummerische Räder für Jahr, Monat, Tag, wenn es in unterstützenden Browsern aktiv ist.
datetime-local Ein Steuerelement zur Eingabe eines Datums und einer Uhrzeit, ohne Zeitzone. Öffnet einen Datumsauswähler oder nummerische Räder für Datums- und Uhrzeitkomponenten, wenn es in unterstützenden Browsern aktiv ist.
email Ein Feld zur Bearbeitung einer E-Mail-Adresse. Sieht aus wie eine text-Eingabe, hat aber Validierungsparameter und relevante Tastaturen in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
file Ein Steuerelement, das es dem Nutzer erlaubt, eine Datei auszuwählen. Verwenden Sie das accept-Attribut, um die Dateitypen zu definieren, die das Steuerelement auswählen kann.
hidden Ein Steuerelement, das nicht angezeigt wird, dessen Wert aber an den Server übermittelt wird. Es gibt ein Beispiel in der nächsten Spalte, aber es ist versteckt!
image Ein grafischer submit-Button. Zeigt ein Bild an, das durch das src-Attribut definiert wird. Das alt-Attribut wird angezeigt, wenn das Bild src fehlt.
month Ein Steuerelement zur Eingabe eines Monats und Jahres, ohne Zeitzone.
number Ein Steuerelement zur Eingabe einer Zahl. Zeigt einen Spinner an und fügt eine standardmäßige Validierung hinzu. Zeigt auf einigen Geräten mit dynamischen Keypads eine numerische Tastatur an.
password Ein einzeiliges Textfeld, dessen Wert verschleiert ist. Warnt den Benutzer, wenn die Seite nicht sicher ist.
radio Ein Radiobutton, der es ermöglicht, einen einzigen Wert aus mehreren Auswahlmöglichkeiten mit demselben name-Wert zu wählen.
range Ein Steuerelement zur Eingabe einer Zahl, deren genauer Wert nicht wichtig ist. Wird als Bereichs-Widget angezeigt, das standardmäßig auf den mittleren Wert eingestellt ist. In Verbindung mit min und max verwendet, um den Bereich der akzeptablen Werte zu definieren.
reset Ein Button, der den Inhalt des Formulars auf Standardwerte zurücksetzt. Nicht empfohlen.
search Ein einzeiliges Textfeld zur Eingabe von Suchstrings. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. Kann in unterstützenden Browsern ein Lösch-Symbol enthalten, mit dem das Feld geleert werden kann. Zeigt auf einigen Geräten mit dynamischen Tastaturen ein Suchsymbol anstelle der Eingabetaste an.
submit Ein Button, der das Formular absendet.
tel Ein Steuerelement zur Eingabe einer Telefonnummer. Zeigt in einigen Geräten mit dynamischen Tastaturen ein Telefon-Tastenfeld an.
text Der Standardwert. Ein einzeiliges Textfeld. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt.
time Ein Steuerelement zur Eingabe eines Zeitwerts ohne Zeitzone.
url Ein Feld zur Eingabe einer URL. Sieht aus wie eine text-Eingabe, hat aber Validierungsparameter und relevante Tastaturen in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
week Ein Steuerelement zur Eingabe eines Datums, bestehend aus einer Jahr-Woche-Nummer und einer Wochennummer ohne Zeitzone.
Veraltete Werte
datetime Ein Steuerelement zur Eingabe eines Datums und einer Uhrzeit (Stunde, Minute, Sekunde und Bruchteil einer Sekunde) basierend auf der UTC-Zeitzone.

Attribute

Das <input>-Element ist so leistungsstark aufgrund seiner Attribute; das type-Attribut, welches oben mit Beispielen beschrieben ist, ist das wichtigste. Da jedes <input>-Element, unabhängig vom Typ, auf der HTMLInputElement-Schnittstelle basiert, teilen sie technisch gesehen dasselbe Set von Attributen. In Wirklichkeit haben jedoch die meisten Attribute nur auf eine spezifische Untergruppe von Eingabetypen Einfluss. Darüber hinaus hängt die Wirkung einiger Attribute auf eine Eingabe vom Eingabetyp ab und beeinflusst verschiedene Eingabetypen auf unterschiedliche Weise.

Dieser Abschnitt bietet eine Tabelle, die alle Attribute mit einer kurzen Beschreibung auflistet. Diese Tabelle wird von einer Liste gefolgt, die jedes Attribut im Detail beschreibt, zusammen mit den Eingabetypen, mit denen sie assoziiert sind. Diejenigen, die für die meisten oder alle Eingabetypen allgemein sind, werden im Folgenden detailliert beschrieben. Attribute, die einzigartig für bestimmte Eingabetypen sind – oder Attribute, die für alle Eingabetypen generell, aber bei einem bestimmten Eingabetyp spezielle Verhaltensweisen aufweisen – werden stattdessen auf den Seiten dieser Typen dokumentiert.

Attribute für das <input>-Element umfassen die globalen HTML-Attribute und zusätzlich:

Attribut Typ(en) Beschreibung
accept file Hinweis auf den erwarteten Dateityp in Datei-Upload-Steuerelementen
alpha color Deckkraft der Farbe
alt image alt-Attribut für den Bildtyp. Erforderlich für Barrierefreiheit
autocapitalize alle außer url, email und password Steuert automatische Großschreibung in eingegebenem Text.
autocomplete alle außer checkbox, radio und Tasten Hinweis für die Formular-Autovervollständigungsfunktion
capture file Medienaufnahme-Eingabemethode in Datei-Upload-Steuerelementen
checked checkbox, radio Gibt an, ob der Befehl oder das Steuerelement ausgewählt ist
colorspace color Der Farbraum, der zum Auswählen des Farbwerts verwendet werden soll
dirname hidden, text, search, url, tel, email Name des Formularfelds zum Senden der Textausrichtung des Elements bei der Formularübermittlung
disabled alle Gibt an, ob das Formularfeld deaktiviert ist
form alle Verknüpft das Steuerelement mit einem Formularelement
formaction image, submit URL zur Verwendung bei der Formularübermittlung
formenctype image, submit Kodierungstyp für Formulardatensatz zur Verwendung bei der Formularübermittlung
formmethod image, submit HTTP-Methode zur Verwendung bei der Formularübermittlung
formnovalidate image, submit Umgeht die Formularfeldvalidierung bei der Formularübermittlung
formtarget image, submit Browsing-Kontext für die Formularübermittlung
height image Entspricht dem Höhenattribut für <img>; vertikale Dimension
list alle außer hidden, password, checkbox, radio und Tasten Wert des ID-Attributs der <datalist> der Autovervollständigungsoptionen
max date, month, week, time, datetime-local, number, range Maximalwert
maxlength text, search, url, tel, email, password Maximale Länge (Anzahl der Zeichen) des value
min date, month, week, time, datetime-local, number, range Minimalwert
minlength text, search, url, tel, email, password Minimale Länge (Anzahl der Zeichen) des value
multiple email, file Boolean. Gibt an, ob mehrere Werte erlaubt sind
name alle Name des Formularsteuerfelds. Wird mit dem Formular als Teil eines Name/Wert-Paares übermittelt
pattern text, search, url, tel, email, password Muster, das der value-Wert erfüllen muss, um gültig zu sein
placeholder text, search, url, tel, email, password, number Text, der im Formularfeld erscheint, wenn kein Wert festgelegt ist
popovertarget button Weist einem <input type="button"> ein Steuerelement für ein Popover-Element zu
popovertargetaction button Gibt die Aktion an, die ein Popover-Steuerelement ausführen soll
readonly alle außer hidden, range, color, checkbox, radio und Tasten Boolean. Der Wert ist nicht editierbar
required alle außer hidden, range, color und Tasten Boolean. Ein Wert ist erforderlich oder muss überprüft werden, damit das Formular eingereicht werden kann
size text, search, url, tel, email, password Größe des Steuerelements
src image Entspricht dem src-Attribut für <img>; Adresse der Bildressource
step date, month, week, time, datetime-local, number, range Inkrementwerte, die gültig sind
switch checkbox Ob die Checkbox-Eingabe als Schalter dargestellt werden soll
type alle Typ des Formularsteuerfelds
value alle außer image Der Wert des Steuerfeldes. Wenn im HTML angegeben, entspricht dem Anfangswert
width image Entspricht dem width-Attribut für <img>

Einige zusätzliche nicht-standardmäßige Attribute sind im Anschluss an die Beschreibungen der Standardattribute aufgeführt.

Einzelene Attribute

accept

Nur gültig für den Typ file. Das accept-Attribut definiert, welche Dateitypen in einem file-Upload-Steuerelement auswählbar sind. Siehe den file Eingabetyp.

alpha

Nur gültig für den Typ color. Das alpha-Attribut bietet dem Endnutzer die Möglichkeit, die Deckkraft der ausgewählten Farbe festzulegen.

alt

Nur gültig für den Bildknopf image. Das alt-Attribut bietet alternativen Text für das Bild, der angezeigt wird, wenn das Bild src fehlt oder anderweitig nicht geladen werden kann. Siehe den image Eingabetyp.

autocapitalize

Steuert, ob eingegebener Text automatisch großgeschrieben wird, und falls ja, auf welche Weise. Weitere Informationen finden Sie auf der globalen Attributseite autocapitalize.

autocomplete

(Kein Boolean-Attribut!) Das autocomplete-Attribut nimmt als Wert einen durch Leerzeichen getrennten String, der beschreibt, welche Art von Autovervollständigungsfunktionalität die Eingabe bereitstellen soll, wenn überhaupt. Eine typische Implementierung von Autovervollständigung merkt sich frühere Werte, die im selben Eingabefeld eingegeben wurden, es können jedoch auch komplexere Formen der Autovervollständigung existieren. Beispielsweise könnte sich ein Browser mit der Kontaktliste eines Geräts integrieren, um email-Adressen in einem E-Mail-Eingabefeld automatisch zu vervollständigen. Siehe autocomplete für zulässige Werte.

Das autocomplete-Attribut ist gültig für hidden, text, search, url, tel, email, date, month, week, time, datetime-local, number, range, color und password. Dieses Attribut hat keine Auswirkungen auf Eingabetypen, die keine numerischen oder Textdaten zurückgeben, und ist für alle Eingabetypen außer checkbox, radio, file oder einen der Tasten-Typen gültig.

Weitere Informationen finden Sie im autocomplete-Attribut, einschließlich Informationen zur Passwortsicherheit und wie sich autocomplete bei hidden leicht von anderen Eingabetypen unterscheidet.

autofocus

Ein Boolean-Attribut, das, wenn vorhanden, angibt, dass das Eingabefeld automatisch den Fokus haben soll, wenn die Seite geladen wurde (oder wenn der <dialog> enthaltende relevante Content geladen wurde).

Hinweis: Ein Element mit dem autofocus-Attribut kann den Fokus erhalten, bevor das DOMContentLoaded-Ereignis ausgelöst wird.

Es darf nicht mehr als ein Element im Dokument mit dem autofocus-Attribut versehen sein. Wenn es auf mehr als einem Element gesetzt wird, erhält das erste Element mit dem Attribut den Fokus.

Das autofocus-Attribut kann nicht bei Eingaben vom Typ hidden verwendet werden, da versteckte Eingaben nicht fokussiert werden können.

Warnung: Automatisches Fokussieren eines Formularsteuerelements kann sehbehinderte Menschen verwirren, die Bildschirmlesetechnologie verwenden, ebenso wie Menschen mit kognitiven Beeinträchtigungen. Wenn autofocus zugewiesen ist, "teleportieren" Lesegeräte für Bildschirme ihre Nutzer ohne Vorwarnung.

Seien Sie vorsichtig, wenn Sie das autofocus-Attribut anwenden und das Hinzufügen für Barrierefreiheit berücksichtigen. Automatisches Fokussieren auf ein Steuerelement kann dazu führen, dass die Seite beim Laden scrollt. Der Fokus kann auf einigen Touch-Geräten dazu führen, dass dynamische Tastaturen angezeigt werden. Ein Bildschirmlesegerät wird das Etikett des fokussierten Formularsteuerelements ansagen, aber es wird nichts vor dem Etikett ansagen. Ebenso wird der Sichtvergleichsbenutzer auf einem kleinen Gerät den Kontext verpassen, der durch den vorausgehenden Inhalt erstellt wird.

capture

Eingeführt in der HTML Media Capture-Spezifikation und nur gültig für den Eingabetyp file, definiert das capture-Attribut, welche Medien - Mikrofon, Video oder Kamera - verwendet werden sollen, um in unterstützenden Szenarien eine neue Datei mit dem file-Upload-Steuerelement aufzunehmen. Siehe den file Eingabetyp.

checked

Gültig für die Typen radio und checkbox. checked ist ein Boolean-Attribut. Wenn es beim radio-Typ vorhanden ist, gibt es an, dass der Radiobutton der aktuell ausgewählte in der Gruppe gleichnamiger Radiobuttons ist. Wenn es beim checkbox-Typ vorhanden ist, gibt es an, dass das Kontrollkästchen standardmäßig aktiviert ist (wenn die Seite geladen wird). Es zeigt nicht an, ob dieses Kontrollkästchen derzeit aktiviert ist: Wenn sich der Zustand des Kontrollkästchens ändert, wird dieses Inhaltsattribut bei der Änderung nicht aktualisiert. (Nur das HTMLInputElement-Attribut checked wird aktualisiert.)

Hinweis: Im Gegensatz zu anderen Eingabesteuerfeldern werden die Werte von Kontrollkästchen und Radio-Buttons nur in die übermittelten Daten aufgenommen, wenn sie derzeit checked sind. Wenn dies der Fall ist, werden der Name und die Werte der aktivierten Steuerelemente übermittelt.

Wenn beispielsweise ein Kontrollkästchen mit dem name fruit einen value von cherry hat und das Kontrollkästchen aktiviert ist, dann werden die Formulardaten fruit=cherry enthalten. Wenn das Kontrollkästchen nicht aktiv ist, wird es in den Formulardaten überhaupt nicht aufgeführt. Der Standardwert für Kontrollkästchen und Radio-Buttons ist on.

colorspace

Nur gültig für den Eingabetyp color. Das colorspace-Attribut gibt den Farbraum an, der vom type="color"-Eingabetyp verwendet wird. Mögliche enumerierte Werte sind:

  • "limited-srgb": Die Farbe befindet sich im sRGB-Farbraum. Dazu gehören rgb(), hsl(), hwb() und <hex-color>-Werte. Der Farbwert ist auf 8-Bit pro r-, g- und b-Komponente begrenzt. Dies ist der Standard.
  • "display-p3": Der Display P3-Farbraum, z. B. color(display-p3 1.84 -0.19 0.72 / 0.6)
dirname

Gültig für die Eingabetypen hidden, text, search, url, tel und email. Das dirname-Attribut ermöglicht die Übermittlung der Textausrichtung des Elements. Wenn hinzugefügt, wird das Formularsteuerelement mit zwei Name/Wert-Paaren übermittelt: Das erste ist der name und value, und das zweite ist der Wert des dirname-Attributs als Name, mit einem Wert von ltr oder rtl, wie vom Browser festgelegt.

html
<form action="page.html" method="post">
  <label>
    Fruit:
    <input type="text" name="fruit" dirname="fruit-dir" value="cherry" />
  </label>
  <input type="submit" />
</form>
<!-- page.html?fruit=cherry&fruit-dir=ltr -->

Wenn das oben gezeigte Formular übermittelt wird, führen die Eingaben dazu, dass sowohl das name / value-Paar fruit=cherry als auch das dirname / Richtungs-Paar fruit-dir=ltr gesendet werden. Für mehr Informationen siehe das dirname-Attribut.

disabled

Ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer nicht mit der Eingabe interagieren soll. Deaktivierte Eingaben werden typischerweise mit einer dunkleren Farbe oder mit einer anderen Form der Indikation dargestellt, dass das Feld nicht zur Verwendung verfügbar ist.

Genauer gesagt, deaktivierte Eingaben erhalten nicht das click-Ereignis und deaktivierte Eingaben werden nicht mit dem Formular eingereicht.

Hinweis: Obwohl es von der Spezifikation nicht erforderlich ist, wird Firefox standardmäßig den dynamischen deaktivierten Zustand eines <input> über Seitenladezyklen hinweg beibehalten. Verwenden Sie das autocomplete-Attribut, um diese Funktion zu steuern.

form

Eine Zeichenfolge, die das <form>-Element angibt, mit dem die Eingabe verknüpft ist (d.h. der Formularbesitzer ist). Der Wert dieser Zeichenfolge, falls vorhanden, muss mit der id eines <form>-Elements im selben Dokument übereinstimmen. Wenn dieses Attribut nicht spezifiziert ist, wird das <input>-Element mit dem nächsten enthaltenden Formular verbunden, falls vorhanden.

Das form-Attribut ermöglicht es, eine Eingabe an einer beliebigen Stelle im Dokument zu platzieren, aber diese in einem Formular an anderer Stelle im Dokument zu inkludieren.

Hinweis: Eine Eingabe kann nur mit einem Formular verknüpft werden.

formaction

Nur gültig für die Eingabetypen image und submit. Für mehr Informationen siehe den submit Eingabetyp.

formenctype

Nur gültig für die Eingabetypen image und submit. Für mehr Informationen siehe den submit Eingabetyp.

formmethod

Nur gültig für die Eingabetypen image und submit. Für mehr Informationen siehe den submit Eingabetyp.

formnovalidate

Nur gültig für die Eingabetypen image und submit. Für mehr Informationen siehe den submit Eingabetyp.

formtarget

Nur gültig für die Eingabetypen image und submit. Für mehr Informationen siehe den submit Eingabetyp.

height

Nur beim Bildknopf image gültig. Die height ist die Höhe der Bilddatei, die angezeigt wird, um den grafischen Bestätigungsbutton darzustellen. Siehe den image Eingabetyp.

id

Globales Attribut, das für alle Elemente gültig ist, einschließlich aller Eingabetypen, und eine eindeutige Kennung (ID) definiert, die im gesamten Dokument einzigartig sein muss. Ihr Zweck ist es, das Element bei der Verknüpfung zu identifizieren. Der Wert wird als Wert des Attributs for des <label>-Elements verwendet, um das Label mit dem Formularsteuerelement zu verbinden. Siehe <label>.

inputmode

Globaler Wert, gültig für alle Elemente, er bietet einen Hinweis an Browser, welche Art von virtueller Tastaturkonfiguration beim Bearbeiten dieses Elements oder seines Inhalts verwendet werden soll. Werte umfassen none, text, tel, url, email, numeric, decimal und search.

list

Der Wert, der dem list-Attribut gegeben wird, sollte die id eines <datalist>-Elements sein, das sich im selben Dokument befindet. Die <datalist> bietet eine Liste vorab definierter Werte als Vorschläge für den Nutzer zur Eingabe. Werte in der Liste, die nicht mit dem type kompatibel sind, werden nicht in den vorgeschlagenen Optionen aufgenommen. Die bereitgestellten Werte sind Vorschläge, keine Anforderungen: Nutzer können aus dieser vordefinierten Liste auswählen oder einen anderen Wert angeben.

Es ist gültig bei text, search, url, tel, email, date, month, week, time, datetime-local, number, range und color.

Laut Spezifikationen wird das list-Attribut nicht von hidden, password, checkbox, radio, file oder irgendeinem Button-Typ unterstützt.

Abhängig vom Browser kann der Nutzer eine benutzerdefinierte Farbpalette, Tic-Marken entlang eines Bereichs oder sogar eine Eingabe, die sich wie ein <select> öffnet, aber auch nicht aufgelistete Werte zulässt, sehen. Schauen Sie sich die Browser-Kompatibilitätstabelle für die anderen Eingabetypen an.

Siehe das <datalist>-Element.

max

Gültig für date, month, week, time, datetime-local, number und range, es definiert den größten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebene value diesen überschreitet, schlägt das Element bei der Einschränkungsvalidierung fehl. Wenn der Wert des max-Attributs keine Zahl ist, hat das Element keinen Höchstwert.

Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Datums- oder Zeitangaben), kann der Wert von max niedriger als der Wert von min sein, was darauf hinweist, dass der Bereich umschlagen kann; zum Beispiel erlaubt dies die Angabe eines Zeitbereichs von 22:00 Uhr bis 4:00 Uhr.

maxlength

Gültig für text, search, url, tel, email und password, es definiert die maximale Zeichenfolgelänge (gemessen in UTF-16-Codeeinheiten), die der Nutzer in das Feld eingeben kann. Dies muss ein ganzzahliger Wert von 0 oder höher sein. Wenn keine maxlength angegeben ist oder ein ungültiger Wert angegeben ist, hat das Feld keine maximale Länge. Dieser Wert muss auch größer oder gleich dem Wert von minlength sein.

Die Eingabe schlägt bei der Einschränkungsvalidierung fehl, wenn die Länge des in das Feld eingegebenen Textes größer ist als maxlength UTF-16-Codeeinheiten lang. Standardmäßig verhindern Browser, dass Nutzer mehr Zeichen eingeben, als durch das maxlength-Attribut erlaubt sind. Die Einschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Weitere Informationen finden Sie unter Client-side-Validierung.

min

Gültig für date, month, week, time, datetime-local, number und range, es definiert den negativsten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebene value kleiner als dieser ist, schlägt das Element bei der Einschränkungsvalidierung fehl. Wenn der Wert des min-Attributs keine Zahl ist, hat das Element keinen Mindestwert.

Dieser Wert muss kleiner oder gleich dem Wert des max-Attributs sein. Wenn das min-Attribut vorhanden, aber nicht spezifiziert oder ungültig ist, wird kein min-Wert angewendet. Wenn das min-Attribut gültig ist und ein nicht leerer Wert kleiner als das Minimum, das durch das min-Attribut zugelassen wird, wird die Einschränkungsvalidierung die Formularübermittlung verhindern. Weitere Informationen finden Sie unter Client-side-Validierung.

Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Datums- oder Zeitangaben), kann der Wert von max niedriger als der Wert von min sein, was darauf hinweist, dass der Bereich umschlagen kann; zum Beispiel erlaubt dies die Angabe eines Zeitbereichs von 22:00 Uhr bis 4:00 Uhr.

minlength

Gültig für text, search, url, tel, email und password, es definiert die minimale Zeichenfolgelänge (gemessen in UTF-16-Codeeinheiten), die der Nutzer in das Eingabefeld eingeben kann. Dies muss ein nicht-negativer ganzzahliger Wert kleiner oder gleich dem durch maxlength angegebenen Wert sein. Wenn keine minlength angegeben ist o

Methoden

Die folgenden Methoden werden von der HTMLInputElement Schnittstelle bereitgestellt, die <input>-Elemente im DOM darstellt. Ebenfalls verfügbar sind die Methoden, die von den übergeordneten Schnittstellen HTMLElement, Element, Node und EventTarget spezifiziert sind.

checkValidity()

Gibt true zurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls wird false zurückgegeben und ein invalid Ereignis am Element ausgelöst.

reportValidity()

Gibt true zurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls wird false zurückgegeben, ein invalid Ereignis am Element ausgelöst und (wenn das Ereignis nicht abgebrochen wird) das Problem dem Benutzer gemeldet.

select()

Wählt den gesamten Inhalt des <input>-Elements aus, wenn der Inhalt des Elements auswählbar ist. Für Elemente ohne auswählbaren Textinhalt (wie ein visueller Farbwähler oder Kalendereingabe) bewirkt diese Methode nichts.

setCustomValidity()

Legt eine benutzerdefinierte Nachricht fest, die angezeigt wird, wenn der Wert des Eingabeelements nicht gültig ist.

setRangeText()

Legt den Inhalt des angegebenen Zeichenbereichs im Eingabeelement auf eine gegebene Zeichenfolge fest. Ein selectMode-Parameter ist verfügbar, um zu steuern, wie der bestehende Inhalt beeinflusst wird.

setSelectionRange()

Wählt den angegebenen Zeichenbereich innerhalb eines Text-Eingabeelements aus. Macht nichts bei Eingaben, die nicht als Texteingabefelder präsentiert werden.

showPicker()

Zeigt den Browser-Auswahldialog für das Eingabeelement an, der normalerweise angezeigt wird, wenn das Element ausgewählt wird, aber durch einen Knopfdruck oder eine andere Benutzerinteraktion ausgelöst wird.

stepDown()

Verringert den Wert einer numerischen Eingabe um eins oder um die angegebene Anzahl von Einheiten.

stepUp()

Erhöht den Wert einer numerischen Eingabe um eins oder um die angegebene Anzahl von Einheiten.

CSS

Eingaben, die ersetzte Elemente sind, haben einige Funktionen, die auf Nicht-Formularelemente nicht anwendbar sind. Es gibt CSS-Selektoren, die speziell Formularsteuerungen basierend auf ihren UI-Funktionen, auch bekannt als UI-Pseudoklassen, anvisieren können. Das input-Element kann auch nach Typ mit Attributselektoren anvisiert werden. Es gibt einige Eigenschaften, die ebenfalls besonders nützlich sind.

UI-Pseudoklassen

Pseudoklassen relevant für das <input>-Element:
Pseudoklasse Beschreibung
:enabled Jedes momentan aktivierte Element, das aktiviert (ausgewählt, angeklickt, hineingeschrieben etc.) werden kann oder den Fokus akzeptieren kann und auch einen deaktivierten Zustand hat, in dem es nicht aktiviert oder den Fokus akzeptieren kann.
:disabled Jedes momentan deaktivierte Element, das einen aktivierten Zustand hat, was bedeutet, dass es andernfalls aktiviert (ausgewählt, angeklickt, hineingeschrieben etc.) werden könnte oder den Fokus akzeptieren könnte, wenn es nicht deaktiviert wäre.
:read-only Element, das vom Benutzer nicht bearbeitet werden kann.
:read-write Element, das vom Benutzer bearbeitet werden kann.
:placeholder-shown Element, das momentan Platzhalter-Text anzeigt, einschließlich <input> und <textarea>-Elemente mit dem placeholder-Attribut, das noch keinen Wert hat.
:default Formularelemente, die der Standard in einer Gruppe von verwandten Elementen sind. Passt zu den checkbox und radio Eingabetypen, die beim Laden oder Rendern der Seite ausgewählt wurden.
:checked Passt zu den checkbox und radio Eingabetypen, die momentan ausgewählt sind (und das <option> in einem <select>, das momentan ausgewählt ist).
:indeterminate checkbox Elemente, deren indeterminate-Eigenschaft durch JavaScript auf true gesetzt wurde, radio-Elemente, wenn alle Radio-Buttons mit demselben Namenswert im Formular nicht ausgewählt sind, und <progress>-Elemente in einem unbestimmten Zustand.
:valid Formularelemente, auf die Einschränkungsprüfungen angewendet werden können und die momentan gültig sind.
:invalid Formularelemente, auf die Einschränkungsprüfungen angewendet werden und die momentan nicht gültig sind. Passt zu einem Formularelement, dessen Wert nicht den durch seine Attribute festgelegten Einschränkungen entspricht, wie required, pattern, step und max.
:in-range Eine nicht leere Eingabe, deren aktueller Wert innerhalb der durch die min und max-Attribute und den step angegebenen Bereichsgrenzen liegt.
:out-of-range Eine nicht leere Eingabe, deren aktueller Wert NICHT innerhalb der durch die min und max-Attribute angegebenen Bereichs liegt oder nicht der step-Einschränkung entspricht.
:required <input>, <select>, oder <textarea> Element, das das required-Attribut gesetzt hat. Passt nur zu Elementen, die erforderlich sein können. Das Attribut auf einem nicht erforderlichen Element eingeschlossen, wird kein Treffer sein.
:optional <input>, <select>, oder <textarea> Element, das NICHT das required-Attribut gesetzt hat. Passt nicht zu Elementen, die nicht erforderlich sein können.
:blank <input> und <textarea>-Elemente, die momentan keinen Wert haben.
:user-invalid Ähnlich wie :invalid, wird jedoch beim Verlassen des Fokus aktiviert. Passt zu ungültigen Eingaben, jedoch nur nach der Benutzerinteraktion, etwa durch Fokussieren auf das Steuerelement, Verlassen des Steuerelements oder Versuch, das Formular mit dem ungültigen Steuerelement abzuschicken.
:open <input>-Elemente, die ein Auswahlfeld anzeigen, aus dem der Benutzer einen Wert wählen kann (zum Beispiel <input type="color">) — jedoch nur, wenn das Element im offenen Zustand ist, das heißt, wenn das Auswahlfeld angezeigt wird.

Pseudoklassen-Beispiel

Wir können ein Kontrollkästchen-Label basierend darauf stylen, ob das Kontrollkästchen ausgewählt ist oder nicht. In diesem Beispiel stylen wir die color und font-weight des <label>, das direkt nach einer ausgewählten Eingabe folgt. Es wurden keine Stile angewendet, wenn das input nicht ausgewählt ist.

css
input:checked + label {
  color: red;
  font-weight: bold;
}

Attributselektoren

Es ist möglich, verschiedene Typen von Eingabesteuerelementen basierend auf ihrem type unter Verwendung von Attributselektoren zu anvisieren. CSS-Attributselektoren passen Elemente an, basierend entweder nur auf der Anwesenheit eines Attributs oder dem Wert eines gegebenen Attributs.

css
/* matches a password input */
input[type="password"] {
}

/* matches a form control whose valid values are limited to a range of values */
input[min][max] {
}

/* matches a form control with a pattern attribute */
input[pattern] {
}

::placeholder

Standardmäßig erscheint der Text des Platzhalters lichtdurchlässig oder hellgrau. Das ::placeholder-Pseudo-Element ist der placeholder-Text der Eingabe. Es kann mit einem eingeschränkten Satz von CSS-Eigenschaften gestylt werden.

css
::placeholder {
  color: blue;
}

Nur der Unterbereich von CSS-Eigenschaften, der auf das ::first-line-Pseudo-Element angewendet werden kann, kann in einer Regel verwendet werden, die ::placeholder in ihrem Selektor verwendet.

caret-color

Eine Eigenschaft, die speziell auf texteingabe-bezogene Elemente zutrifft, ist die CSS-caret-color-Eigenschaft, die es erlaubt, die Farbe des Texteingabe-Cursors zu bestimmen:

HTML

html
<label for="textInput">Note the red caret:</label>
<input id="textInput" class="custom" size="32" />

CSS

css
input.custom {
  caret-color: red;
  font:
    16px "Helvetica",
    "Arial",
    sans-serif;
}

Ergebnis

field-sizing

Die field-sizing-Eigenschaft ermöglicht es Ihnen, das Größenverhalten von Formulareingaben zu steuern (d.h. sie erhalten standardmäßig eine bevorzugte Größe). Diese Eigenschaft ermöglicht es Ihnen, das Standardverhalten zu überschreiben, sodass sich Formsteuerungen in ihrer Größe anpassen können, um ihren Inhalt zu erfassen.

Diese Eigenschaft wird typischerweise verwendet, um Formularfelder zu erstellen, die sich entsprechend ihrem Inhalt verkleinern und mit mehr eingegebenem Text wachsen. Dies funktioniert mit Eingabetypen, die direkte Texteingabe akzeptieren (zum Beispiel text und url), Eingabetyp file und <textarea> Elemente.

object-position und object-fit

In bestimmten Fällen (normalerweise bei nicht-textuellen Eingaben und spezialisierten Schnittstellen) ist das <input>-Element ein ersetztes Element. Wenn es das ist, können die Position und Größe des Elements und seine Positionierung innerhalb seines Rahmens mit den CSS-Eigenschaften object-position und object-fit angepasst werden.

Styling

Für weitere Informationen zum Hinzufügen von Farbe zu Elementen in HTML, siehe:

Siehe auch:

Zusätzliche Funktionen

Labels

Labels sind notwendig, um erklärenden Text mit einem <input> zu verknüpfen. Das <label>-Element bietet erläuternde Informationen über ein Eingabefeld, das immer angemessen ist (abgesehen von eventuellen Layoutbedenken, die Sie haben könnten). Es ist nie eine schlechte Idee, ein <label> zu verwenden, um zu erklären, was in ein <input> oder ein <textarea> eingegeben werden sollte.

Zugehörige Labels

Die semantische Paarung von <input>- und <label>-Elementen ist nützlich für unterstützende Technologien wie Bildschirmleser. Indem Sie sie unter Verwendung des for-Attributs des <label>-Elements koppeln, verbinden Sie das Label mit der Eingabe auf eine Weise, die es Bildschirmlesern ermöglicht, Eingaben genauer zu beschreiben.

Es reicht nicht aus, einfachen Text neben dem <input>-Element zu haben. Vielmehr erfordern Benutzerfreundlichkeit und Barrierefreiheit die Einbeziehung eines impliziten oder expliziten <label>:

html
<!-- inaccessible -->
<p>Enter your name: <input id="name" type="text" size="30" /></p>

<!-- implicit label -->
<p>
  <label>Enter your name: <input id="name" type="text" size="30" /></label>
</p>

<!-- explicit label -->
<p>
  <label for="name">Enter your name: </label>
  <input id="name" type="text" size="30" />
</p>

Das erste Beispiel ist unzugänglich: Es besteht keine Verbindung zwischen der Aufforderung und dem <input>-Element.

Zusätzlich zu einem zugänglichen Namen bietet das Label einen größeren 'Touchpoint' für Maus- und Touchscreen-Nutzer zum Klicken oder Berühren. Durch die Kopplung eines <label> mit einem <input> wird beim Klicken auf eines von beiden das <input> fokussiert. Wenn Sie einfachen Text verwenden, um Ihre Eingabe zu "benennen", geschieht dies nicht. Es ist hilfreich für Menschen mit motorischen Störungen, den Auftreffbereich der Eingabe als Teil des aktivierenden Bereichs zu haben.

Als Webentwickler ist es wichtig, dass wir nie annehmen, dass Menschen alle Dinge wissen, die wir wissen. Die Vielfalt der Menschen, die das Web nutzen – und damit Ihre Website – garantiert praktisch, dass einige Ihrer Website-Besucher einige Variationen im Denkprozess und/oder Umstände haben, die sie dazu führen, Ihre Formulare ohne klar und ordnungsgemäß präsentierte Labels sehr unterschiedlich zu interpretieren.

Platzhalter sind nicht zugänglich

Das placeholder-Attribut ermöglicht es Ihnen, Text zu spezifizieren, der innerhalb des Inhaltsbereichs des <input>-Elements selbst angezeigt wird, wenn es leer ist. Der Platzhalter sollte niemals nötig sein, um Ihre Formulare zu verstehen. Er ist kein Label und sollte nicht als solches verwendet werden, weil er es nicht ist. Der Platzhalter wird verwendet, um einen Hinweis darauf zu geben, wie ein eingegebener Wert aussehen sollte, keine Erklärung oder Aufforderung.

Nicht nur ist der Platzhalter nicht für Bildschirmleser zugänglich, sondern sobald der Benutzer Text in das Formularelement eingibt oder das Formularelement bereits einen Wert hat, verschwindet der Platzhalter. Browser mit automatischen Seitenübersetzungsfunktionen umgehen möglicherweise Attribute beim Übersetzen, was bedeutet, dass der placeholder möglicherweise nicht übersetzt wird.

Hinweis: Verwenden Sie das placeholder-Attribut nicht, wenn Sie es vermeiden können. Wenn Sie ein <input>-Element labeln müssen, verwenden Sie das <label>-Element.

Client-seitige Validierung

Warnung: Client-seitige Validierung ist nützlich, garantiert jedoch nicht, dass der Server gültige Daten erhält. Wenn die Daten in einem bestimmten Format sein müssen, überprüfen Sie es immer auch serverseitig und geben Sie eine 400 HTTP-Antwort zurück, wenn das Format ungültig ist.

Zusätzlich zur Verwendung von CSS zur Stilisierung von Eingaben basierend auf den :valid oder :invalid UI-Zuständen basierend auf dem aktuellen Zustand jeder Eingabe, wie oben im Abschnitt UI-Pseudoklassen erwähnt, bietet der Browser eine client-seitige Validierung bei (versuchtem) Formularversand an. Beim Formularversand, wenn ein Formularsteuerelement die Prüfung der Einschränkungen nicht besteht, zeigen unterstützende Browser eine Fehlermeldung beim ersten ungültigen Formularsteuerelement an; sie zeigen eine Standardnachricht basierend auf dem Fehlertyp oder eine von Ihnen festgelegte Nachricht an.

Einige Eingabetypen und andere Attribute setzen Einschränkungen auf, welche Werte für eine gegebene Eingabe gültig sind. Beispielsweise bedeutet <input type="number" min="2" max="10" step="2">, dass nur die Zahlen 2, 4, 6, 8 oder 10 gültig sind. Mehrere Fehler könnten auftreten, einschließlich eines rangeUnderflow-Fehlers, wenn der Wert kleiner als 2 ist, rangeOverflow, wenn der Wert größer als 10 ist, stepMismatch, wenn der Wert eine Zahl zwischen 2 und 10 ist, aber keine gerade Ganzzahl (entspricht nicht den Anforderungen des step-Attributs) oder typeMismatch, wenn der Wert keine Zahl ist.

Bei Eingabetypen, deren Bereich an möglichen Werten periodisch ist (d.h. am höchsten möglichen Wert wickeln sich die Werte zum Anfang zurück, anstatt zu enden), ist es möglich, dass die Werte der max und min-Eigenschaften vertauscht werden, was angibt, dass der Bereich der erlaubten Werte bei min beginnt, sich bis zum niedrigsten möglichen Wert zurückwickelt und dann weitergeht, bis max erreicht wird. Dies ist insbesondere nützlich für Datums- und Zeitangaben, wie wenn Sie den Bereich von 20 Uhr bis 8 Uhr morgens erlauben möchten:

html
<input type="time" min="20:00" max="08:00" name="overnight" />

Spezifische Attribute und deren Werte können zu einem spezifischen Fehler im ValidityState führen:

Validitätsfehlerobjekte hängen von den <input> Attributen und ihren Werten ab:
Attribut Relevante Eigenschaft Beschreibung
max [`validityState.rangeOverflow`](/de/docs/Web/API/ValidityState/rangeOverflow) Tritt auf, wenn der Wert größer ist als der maximale Wert, der durch das max-Attribut definiert ist
maxlength [`validityState.tooLong`](/de/docs/Web/API/ValidityState/tooLong) Tritt auf, wenn die Anzahl der Zeichen größer ist als die durch die maxlength-Eigenschaft zugelassene Anzahl
min [`validityState.rangeUnderflow`](/de/docs/Web/API/ValidityState/rangeUnderflow) Tritt auf, wenn der Wert kleiner ist als der minimale Wert, der durch das min-Attribut definiert ist
minlength [`validityState.tooShort`](/de/docs/Web/API/ValidityState/tooShort) Tritt auf, wenn die Anzahl der Zeichen kleiner ist als die durch die minlength-Eigenschaft erforderliche Anzahl
pattern [`validityState.patternMismatch`](/de/docs/Web/API/ValidityState/patternMismatch) Tritt auf, wenn ein Musterattribut mit einem gültigen regulären Ausdruck enthalten ist und der value ihm nicht entspricht.
required [`validityState.valueMissing`](/de/docs/Web/API/ValidityState/valueMissing) Tritt auf, wenn das required-Attribut vorhanden ist, aber der Wert null ist oder ein Radio- oder Kontrollkästchen nicht ausgewählt ist.
step [`validityState.stepMismatch`](/de/docs/Web/API/ValidityState/stepMismatch) Der Wert entspricht nicht dem Schrittinkrement. Standardmäßiges Inkrement ist 1, daher sind nur ganze Zahlen auf type="number" ohne step zulässig. step="any" löst diesen Fehler nie aus.
type [`validityState.typeMismatch`](/de/docs/Web/API/ValidityState/typeMismatch) Tritt auf, wenn der Wert nicht vom richtigen Typ ist, beispielsweise eine E-Mail, die kein @ enthält, oder eine URL, die kein Protokoll enthält.

Wenn ein Formularsteuerelement nicht das required-Attribut hat, wird kein Wert oder eine leere Zeichenkette nicht als ungültig betrachtet. Selbst wenn die obigen Attribute vorhanden sind, mit Ausnahme von required, wird eine leere Zeichenkette nicht zu einem Fehler führen.

Wir können Grenzen für die Werte setzen, die wir akzeptieren, und unterstützende Browser werden diese Formularwerte nativ validieren und den Benutzer benachrichtigen, wenn ein Fehler bei der Einsendung des Formulars auftritt.

Zusätzlich zu den in der Tabelle oben beschriebenen Fehlern enthält das validityState-Interface die boolean-Leseeigenschaften badInput, valid und customError. Das Validitätsobjekt umfasst:

Für jede dieser booleschen Eigenschaften bedeutet ein Wert von true, dass der angegebene Grund, warum die Validierung möglicherweise fehlgeschlagen ist, zutrifft, mit Ausnahme der valid-Eigenschaft, die true ist, wenn der Wert des Elements allen Einschränkungen entspricht.

Wenn ein Fehler vorliegt, benachrichtigen unterstützende Browser den Benutzer und verhindern, dass das Formular eingereicht wird. Ein Wort der Vorsicht: Wenn eine benutzerdefinierte Fehlermeldung auf einen wahrheitsgemäßen Wert gesetzt wird (etwas anderes als eine leere Zeichenkette oder null), wird das Formular daran gehindert, eingereicht zu werden. Wenn keine benutzerdefinierte Fehlermeldung vorhanden ist und keine der anderen Eigenschaften true zurückgibt, wird valid true sein und das Formular kann eingereicht werden.

js
function validate(input) {
  let validityState = input.validity;
  if (validityState.valueMissing) {
    input.setCustomValidity("A value is required");
  } else if (validityState.rangeUnderflow) {
    input.setCustomValidity("Your value is too low");
  } else if (validityState.rangeOverflow) {
    input.setCustomValidity("Your value is too high");
  } else {
    input.setCustomValidity("");
  }
}

Die letzte Zeile, die die benutzerdefinierte Fehlermeldung auf eine leere Zeichenkette setzt, ist entscheidend. Wenn der Benutzer einen Fehler macht und die Gültigkeit gesetzt ist, wird das Formular auch dann nicht eingereicht, wenn alle Werte gültig sind, bis die Nachricht null ist.

Beispiel für benutzerdefinierte Validierungsfehler

Wenn Sie eine benutzerdefinierte Fehlermeldung anzeigen möchten, wenn ein Feld die Validierung nicht besteht, müssen Sie die Constraint Validation API verwenden, die für <input>- (und verwandte) Elemente verfügbar ist. Nehmen Sie das folgende Formular:

html
<form>
  <label for="name">Enter username (upper and lowercase letters): </label>
  <input type="text" name="name" id="name" required pattern="[A-Za-z]+" />
  <button>Submit</button>
</form>

Die grundlegenden HTML-Formularvalidierungsfunktionen führen dazu, dass dies eine Standard-Fehlermeldung erzeugt, wenn Sie versuchen, das Formular mit entweder einem nicht gültigen Wert oder einem Wert, der nicht dem pattern entspricht, einzureichen.

Wenn Sie stattdessen benutzerdefinierte Fehlermeldungen anzeigen möchten, könnten Sie JavaScript wie das folgende verwenden:

js
const nameInput = document.querySelector("input");

nameInput.addEventListener("input", () => {
  nameInput.setCustomValidity("");
  nameInput.checkValidity();
});

nameInput.addEventListener("invalid", () => {
  if (nameInput.value === "") {
    nameInput.setCustomValidity("Enter your username!");
  } else {
    nameInput.setCustomValidity(
      "Usernames can only contain upper and lowercase letters. Try again!",
    );
  }
});

Das Beispiel wird wie folgt gerendert:

Kurz gesagt:

  • Wir überprüfen den gültigen Zustand des Eingabeelements jedes Mal, wenn sich sein Wert ändert, indem wir die checkValidity()-Methode über den input-Ereignishandler ausführen.
  • Wenn der Wert ungültig ist, wird ein invalid-Ereignis ausgelöst, und die invalid-Ereignishandlerfunktion wird ausgeführt. Innerhalb dieser Funktion ermitteln wir, ob der Wert ungültig ist, weil er leer ist oder weil er dem Muster nicht entspricht, indem wir einen if ()-Block verwenden und eine benutzerdefinierte Fehlermeldung festlegen.
  • Infolgedessen wird eine der benutzerdefinierten Fehlermeldungen angezeigt, wenn der Eingabewert ungültig ist, wenn die Senden-Taste gedrückt wird.
  • Wenn der Wert gültig ist, wird er wie erwartet gesendet. Damit dies geschieht, muss die benutzerdefinierte Gültigkeit abgebrochen werden, indem setCustomValidity() mit einem leeren Zeichenkettenwert aufgerufen wird. Deshalb tun wir dies jedes Mal, wenn das input-Ereignis ausgelöst wird. Wenn Sie dies nicht tun und eine benutzerdefinierte Gültigkeit zuvor festgelegt wurde, wird die Eingabe als ungültig registriert, selbst wenn sie beim Absenden einen gültigen Wert enthält.

Hinweis: Überprüfen Sie immer Eingabebeschränkungen sowohl auf der Client- als auch auf der Serverseite. Einschränkungsvalidierung entfernt nicht die Notwendigkeit der Validierung auf der Serverseite. Ungültige Werte können immer noch von älteren Browsern oder von böswilligen Akteuren gesendet werden.

Hinweis: Firefox unterstützte für viele Versionen ein proprietäres Fehlerattribut — x-moz-errormessage —, das es erlaubte, benutzerdefinierte Fehlermeldungen in ähnlicher Weise festzulegen. Dies wurde in Version 66 entfernt (siehe Firefox-Bug 1513890).

Lokalisierung

Die erlaubten Eingaben für bestimmte <input>-Typen hängen von der Gebietsschema ab. In einigen Gebietsschemas ist 1.000,00 eine gültige Nummer, während in anderen Gebietsschemas die gültige Art, diese Nummer einzugeben, 1.000,00 ist.

Firefox verwendet die folgenden Heuristiken, um das Gebietsschema zur Validierung der Benutzereingabe zu bestimmen (mindestens für type="number"):

  • Versuchen Sie, die Sprache zu verwenden, die durch ein lang/xml:lang-Attribut auf dem Element oder einem seiner Eltern angegeben ist.
  • Versuchen Sie die Sprache, die durch einen Content-Language-HTTP-Header angegeben ist. Oder,
  • Wenn keine angegeben ist, verwenden Sie das Browser-Gebietsschema.

Barrierefreiheit

Labels

Wenn Eingaben enthalten sind, ist es ein Barrierefreiheitsstandard, neben den Eingaben auch Labels hinzuzufügen. Dies ist erforderlich, damit Benutzer, die unterstützende Technologien verwenden, erkennen können, für was die Eingabe vorgesehen ist. Außerdem gibt das Klicken oder Berühren eines Labels dem damit verbundenen Steuerelement den Fokus. Dies verbessert die Barrierefreiheit und Benutzerfreundlichkeit für sehende Benutzer, erhöht den Bereich, auf den ein Benutzer klicken oder tippen kann, um das Steuerelement zu aktivieren. Dies ist besonders nützlich (und sogar nötig) für Radiobuttons und Kontrollkästchen, die winzig sind. Für weitere Informationen zu Labels im Allgemeinen siehe Labels.

Das folgende Beispiel zeigt, wie das <label> mit einem <input>-Element in der oben angegebenen Weise verknüpft werden kann. Sie müssen dem <input> ein id-Attribut geben. Das <label> benötigt dann ein for-Attribut, dessen Wert mit der id des Eingabefeldes übereinstimmt.

html
<label for="peas">Do you like peas?</label>
<input type="checkbox" name="peas" id="peas" />

Größe

Interaktive Elemente wie Formulareingaben sollten einen ausreichend großen Bereich bieten, damit sie leicht aktiviert werden können. Dies hilft einer Vielzahl von Menschen, einschließlich Menschen mit motorischen Problemen und Menschen, die weniger präzise Eingabemethoden wie einen Eingabestift oder Finger verwenden. Eine Mindestgröße für interaktive Bereiche von 44×44 CSS-Pixel wird empfohlen.

Technische Zusammenfassung

Inhaltskategorien Fließender Inhalt, aufgelistet, einreichbar, zurücksetzbar, form-assoziiertes Element, satz-assoziierter Inhalt. Wenn der type nicht hidden ist, dann ein label-Attachaer-Element, greifbarer Inhalt.
Zulässiger Inhalt None; es ist ein [Leerelement](/de/docs/Glossary/void_element).
Tag-Auslassung Muss einen Start-Tag haben und darf keinen End-Tag haben.
Zulässige Eltern Jedes Element, das satz-assoziierte Inhalte akzeptiert.
Implizite ARIA-Rolle
Erlaubte ARIA-Rollen
DOM-Schnittstelle [`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement)

Spezifikationen

Spezifikation
HTML
# the-input-element

Browser-Kompatibilität

Siehe auch