<input>: Das HTML-Input-Element
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Das <input> HTML-Element wird verwendet, um interaktive Steuerelemente für webbasierte Formulare zu erstellen, um Daten vom Benutzer zu akzeptieren; es sind eine Vielzahl von Arten von Eingabedaten und Steuerwidgets verfügbar, abhängig vom Gerät und dem User Agent. Das <input>-Element ist eines der leistungsstärksten und komplexesten in ganz HTML, aufgrund der schieren Anzahl von 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
Wie ein <input> funktioniert, variiert erheblich, abhängig vom Wert seines type-Attributs, daher werden die verschiedenen Typen auf ihren eigenen separaten Referenzseiten behandelt. Wenn dieses Attribut nicht angegeben wird, wird standardmäßig der Typ text übernommen.
Die verfügbaren Typen sind wie folgt:
| Typ | Beschreibung | Grundlegende Beispiele |
|---|---|---|
| button | Ein Druckknopf ohne Standardverhalten, der den Wert des standardmäßig leeren value-Attributs anzeigt. |
|
| checkbox | Ein Kontrollkästchen, das die Auswahl/Abwahl einzelner Werte ermöglicht. |
|
| color | Ein Steuerfeld zur Angabe einer Farbe; öffnet einen Farbwähler in unterstützenden Browsern, wenn aktiviert. |
|
| date | Ein Steuerfeld zur Eingabe eines Datums (Jahr, Monat und Tag, ohne Zeit). Öffnet einen Datumswähler oder numerische Räder für Jahr, Monat, Tag in unterstützenden Browsern, wenn aktiviert. |
|
| datetime-local | Ein Steuerfeld zur Eingabe eines Datums und einer Uhrzeit, ohne Zeitzone. Öffnet einen Datumswähler oder numerische Räder für Datum- und Zeitkomponenten in unterstützenden Browsern, wenn aktiviert. |
|
Ein Feld zur Bearbeitung einer E-Mail-Adresse. Sieht aus wie ein
text-Eingabefeld, verfügt aber über Validierungsparameter und eine relevante
Tastatur in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
|
|
|
| file |
Ein Steuerfeld, das dem Benutzer die Auswahl einer Datei ermöglicht.
Verwenden Sie das accept-Attribut, um die Dateitypen zu definieren, die das Steuerfeld auswählen kann.
|
|
| hidden | Ein Steuerfeld, das nicht angezeigt wird, dessen Wert jedoch 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 zeigt eine Beschreibung an, wenn das Bild-src fehlt.
|
|
| month | Ein Steuerfeld zum Eingeben eines Monats und Jahres, ohne Zeitzone. |
|
| number | Ein Steuerfeld zur Eingabe einer Zahl. Zeigt einen Spinner an und fügt eine Standard- validierung hinzu. Zeigt auf einigen Geräten mit dynamischen Tastaturen eine numerische Tastatur an. |
|
| password | Ein einzeiliges Textfeld, dessen Wert verborgen ist. Der Benutzer wird gewarnt, wenn die Website nicht sicher ist. |
|
| radio |
Ein Optionsfeld, das es ermöglicht, einen einzigen Wert aus mehreren Auswahlmöglichkeiten mit demselben name-Wert auszuwählen.
|
|
| range |
Ein Steuerfeld zur Eingabe einer Zahl, deren genauer Wert nicht wichtig ist.
Zeigt ein Bereichs-Widget an, das standardmäßig den Mittelwert hat.
Wird zusammen mit min und max verwendet, um den akzeptablen Wertebereich zu definieren.
|
|
| reset | Ein Button, der den Inhalt des Formulars auf die Standardwerte zurücksetzt. Nicht empfohlen. |
|
| search | Ein einzeiliges Textfeld zur Eingabe von Suchstrings. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. Kann ein Löschen-Symbol in unterstützenden Browsern enthalten, das verwendet werden kann, um das Feld zu leeren. Zeigt ein Suchsymbol anstelle der Eingabetaste auf einigen Geräten mit dynamischen Tastaturen an. |
|
| submit | Ein Button, der das Formular absendet. |
|
| tel | Ein Steuerfeld zur Eingabe einer Telefonnummer. Zeigt eine Telefonnumerntastatur auf einigen Geräten mit dynamischen Tastaturen an. |
|
| text | Der Standardwert. Ein einzeiliges Textfeld. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. |
|
| time | Ein Steuerfeld zur Eingabe eines Zeitwerts ohne Zeitzone. |
|
| url |
Ein Feld zur Eingabe einer URL. Sieht aus wie ein text-Eingabefeld, verfügt aber über Validierungsparameter und eine relevante Tastatur in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
|
|
| week | Ein Steuerfeld zur Eingabe eines Datums, das aus einer Wochennummer und einer Wochenjahreszahl besteht, ohne Zeitzone. |
|
| Veraltete Werte | ||
datetime
Veraltet
|
Ein Steuerfeld zur Eingabe eines Datums und einer Zeit (Stunde, Minute, Sekunde und Bruchteile einer Sekunde) basierend auf der UTC-Zeitzone. |
|
Attribute
Das <input>-Element ist so leistungsfähig wegen seiner Attribute; das type-Attribut, mit Beispielen oben beschrieben, ist das wichtigste. Da jedes <input>-Element, unabhängig vom Typ, auf der HTMLInputElement-Schnittstelle basiert, teilen sie technisch dasselbe Set von Attributen. In der Realität haben jedoch die meisten Attribute nur Auswirkungen auf einen spezifischen Teil von Eingabetypen. Zusätzlich hängt die Art und Weise, wie einige Attribute ein Eingabefeld beeinflussen, vom Eingabetyp ab und wirkt sich auf unterschiedliche Eingabetypen unterschiedlich aus.
Dieser Abschnitt bietet eine Tabelle, die alle Attribute mit einer kurzen Beschreibung auflistet. Anschließend folgt eine Liste, die jedes Attribut ausführlicher beschreibt und die Eingabetypen, mit denen sie verbunden sind. Attribute, die bei den meisten oder allen Eingabetypen üblich sind, werden weiter unten ausführlicher beschrieben. Attribute, die einzigartig für bestimmte Eingabetypen sind – oder Attribute, die bei allen Eingabetypen üblich sind, aber spezielle Verhaltensweisen aufweisen, wenn sie bei einem bestimmten Eingabetyp verwendet werden – sind stattdessen auf den Seiten dieser Typen dokumentiert.
Attribute für das <input>-Element schließen die globalen HTML-Attribute mit ein und zusätzlich:
| Attribut | Typ(en) | Beschreibung |
|---|---|---|
accept |
file |
Hinweis auf erwarteten Dateityp in Dateiupload-Steuerelementen |
alpha |
color |
Deckkraft der Farbe |
alt |
image |
alt-Attribut für den image-Typ. Erforderlich für Barrierefreiheit |
autocapitalize |
alle außer url, email, und password |
Steuert die automatische Großschreibung im eingegebenen Text. |
autocomplete |
alle außer checkbox, radio, und Button |
Hinweis auf die automatisierte Ausfüllfunktion des Formulars |
capture |
file |
Methode zur Mediaerfassung in Dateiupload-Steuerelementen |
checked |
checkbox, radio |
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 zur Übermittlung der Ausrichtung des Elements beim Absenden des Formulars |
disabled |
alle | Ob das Formularelement deaktiviert ist |
form |
alle | Verknüpft das Steuerelement mit einem Formularelement |
formaction |
image, submit |
URL, die zum Absenden des Formulars verwendet werden soll |
formenctype |
image, submit |
Kodierungstyp des Formulardatensatzes, der beim Absenden des Formulars verwendet werden soll |
formmethod |
image, submit |
HTTP-Methode, die zum Absenden des Formulars verwendet werden soll |
formnovalidate |
image, submit |
Umgeht die Formularfeld-Validierung beim Absenden des Formulars |
formtarget |
image, submit |
Browsing-Kontext für das Absenden des Formulars |
height |
image |
Entspricht dem Höhenattribut für <img>; Vertikale Ausdehnung |
list |
alle außer hidden, password, checkbox, radio, und Buttons |
Wert des id-Attributs der <datalist> der Autovervollständigungsmöglichkeiten |
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. Ob mehrere Werte erlaubt sind |
name |
alle | Name des Formularelements. Wird mit dem Formular als Teil eines Name/Wert-Paars eingereicht |
pattern |
text, search, url, tel, email, password |
Muster, dem value entsprechen muss, um gültig zu sein |
placeholder |
text, search, url, tel, email, password, number |
Text, der im Formularelement erscheint, wenn kein Wert festgelegt ist |
popovertarget |
button |
Bezeichnet ein <input type="button"> als Steuerung für ein Popover-Element |
popovertargetaction |
button |
Gibt die Aktion an, die ein Popover-Steuerelement ausführen soll |
readonly |
alle außer hidden, range, color, checkbox, radio, und Buttons |
Boolean. Der Wert ist nicht editierbar |
required |
alle außer hidden, range, color, und Buttons |
Boolean. Ein Wert ist erforderlich oder muss überprüft werden, damit das Formular gesendet 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 |
Inkrementelle Werte, die gültig sind |
type |
alle | Typ des Formularelements |
value |
alle außer image |
Der Wert des Steuerungselements. Wenn im HTML angegeben, entspricht dies dem Anfangswert |
width |
image |
Entspricht dem width-Attribut für <img> |
Einige zusätzliche nicht standardisierte Attribute werden nach den Beschreibungen der Standardattribute aufgelistet.
Einzelne Attribute
-
- : Nur gültig für den
file-Eingabetyp, definiert dasaccept-Attribut, welche Dateitypen in einemfile-Upload-Steuerelement auswählbar sind. Siehe den file-Eingabetyp.
- : Nur gültig für den
-
alphaExperimentell- : Nur gültig für den
color-Eingabetyp, dasalpha-Attribut gibt dem Endbenutzer die Möglichkeit, die Deckkraft der ausgewählten Farbe festzulegen.
- : Nur gültig für den
-
alt -
autocapitalize- : Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, in welcher Weise. Weitere Informationen finden Sie auf der Seite des
autocapitalize-globalen Attributs.
- : Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, in welcher Weise. Weitere Informationen finden Sie auf der Seite des
-
-
: (Kein Boolesches Attribut!) Das
autocomplete-Attribut nimmt als seinen Wert eine durch Leerzeichen getrennte Zeichenfolge an, die beschreibt, welche, wenn überhaupt, Art der Autovervollständigungsfunktionalität das Eingabefeld bereitstellen soll. Eine typische Implementierung von Autovervollständigung ruft vorherige in dasselbe Eingabefeld eingegebene Werte ab, aber komplexere Formen der Autovervollständigung können existieren. Zum Beispiel könnte ein Browser in die Kontaktliste eines Geräts integrieren, umemail-Adressen in einem E-Mail-Eingabefeld automatisch zu vervollständigen. Sieheautocompletefür erlaubte Werte.Das
autocomplete-Attribut ist gültig fürhidden,text,search,url,tel,email,date,month,week,time,datetime-local,number,range,colorundpassword. Dieses Attribut hat keine Auswirkungen auf Eingabetypen, die keine numerischen oder Textdaten zurückgeben, und ist für alle Eingabetypen außercheckbox,radio,fileoder jeglichen der Button-Typen gültig.Siehe das
autocomplete-Attribut für zusätzliche Informationen, einschließlich Informationen zur Passwortsicherheit und wieautocompletefürhiddenleicht anders ist als für andere Eingabetypen.
-
-
autofocus-
: Ein Boolean-Attribut, das, falls vorhanden, angibt, dass die Eingabe automatisch den Fokus haben sollte, wenn die Seite fertig geladen (oder wenn das
<dialog>-Element, das das Element enthält, angezeigt) wurde.Hinweis: Ein Element mit dem
autofocus-Attribut kann den Fokus erhalten, bevor dasDOMContentLoaded-Ereignis ausgelöst wird.Nicht mehr als ein Element im Dokument darf das
autofocus-Attribut haben. Wenn es auf mehr als ein Element gesetzt wurde, erhält das erste Element mit dem Attribut den Fokus.Das
autofocus-Attribut kann nicht auf Eingaben des Typshiddenverwendet werden, da versteckte Eingaben nicht fokussiert werden können.Warnung: Das automatische Fokussieren eines Formularsteuerelements kann sehbehinderte Personen, die Bildschirmlesetechnologie verwenden, und Menschen mit kognitiven Einschränkungen verwirren. Wenn
autofocuszugewiesen ist, "teleportieren" Bildschirmlesegeräte ihren Benutzer ohne Vorwarnung zum Formularsteuerelement.Verwenden Sie bei der Anwendung des
autofocus-Attributs sorgfältige Überlegungen zur Barrierefreiheit. Das automatische Fokussieren auf ein Steuerelement kann dazu führen, dass die Seite beim Laden scrollt. Der Fokus kann auch dazu führen, dass auf einigen Touch-Geräten dynamische Tastaturen angezeigt werden. Während ein Bildschirmlesegerät das Label des Formularsteuerelements ankündigt, das den Fokus erhält, wird das Bildschirmlesegerät nichts vor dem Label ankündigen, und der sehende Benutzer auf einem kleinen Gerät wird ebenso den durch den vorherigen Inhalt geschaffenen Kontext verpassen.
-
-
- : Eingeführt in der HTML Media Capture-Spezifikation und nur gültig für den
file-Eingabetyp, bestimmt dascapture-Attribut, welches Medium – Mikrofon, Video oder Kamera – zum Erfassen einer neuen Datei zum Hochladen mitfile-Upload-Steuerelement in unterstützenden Szenarien verwendet werden soll. Siehe den file-Eingabetyp.
- : Eingeführt in der HTML Media Capture-Spezifikation und nur gültig für den
-
checked-
: Gültig für die Typen
radioundcheckbox, istcheckedein Boolean-Attribut. Wenn es bei einemradio-Typ vorhanden ist, zeigt es an, dass die Optionsschaltfläche die aktuell ausgewählte in der Gruppe von gleichnamigen Optionsschaltflächen ist. Wenn es bei einemcheckbox-Typ vorhanden ist, zeigt es an, dass das Kontrollkästchen standardmäßig ausgewählt ist (wenn die Seite geladen wird). Es zeigt nicht an, ob dieses Kontrollkästchen aktuell ausgewählt ist: Wenn der Status des Kontrollkästchens geändert wird, spiegelt dieses Inhaltsattribut die Änderung nicht wider. (Nur daschecked-IDL-Attribut desHTMLInputElementwird aktualisiert.)Hinweis: Im Gegensatz zu anderen Eingabesteuerelementen werden der Wert eines Kontrollkästchens und anderer Optionsfelder nur in die übermittelten Daten aufgenommen, wenn sie aktuell
checkedsind. Wenn sie es sind, werden der Name und die Wert(e) der ausgewählten Steuerelemente übermittelt.Zum Beispiel, wenn ein Kontrollkästchen, dessen
namefruitist, denvaluecherryhat und das Kontrollkästchen aktiviert ist, werden die Formulardatenfruit=cherryenthalten. Wenn das Kontrollkästchen nicht aktiv ist, wird es nicht in den Formulardaten aufgeführt. Der Standardwertvaluefür Kontrollkästchen und Optionsfelder iston.
-
-
colorspaceExperimentell- : Nur gültig für den
color-Eingabetyp, dascolorspace-Attribut gibt den Farbraum an, der von dertype="color"-Eingabe verwendet wird. Mögliche aufgezählte Werte sind:"limited-srgb": Die Farbe befindet sich im sRGB-Farbraum. Dies schließtrgb(),hsl(),hwb()und<hex-color>-Werte ein. Der Farbwert ist auf 8-bit pror,gundb-Komponente beschränkt. Dies ist der Standard."display-p3": Der Display P3-Farbraum, z.B.color(display-p3 1.84 -0.19 0.72 / 0.6)
- : Nur gültig für den
-
-
: Gültig für
hidden,text,search,url,telundemail-Eingabetypen, ermöglicht dasdirname-Attribut die Übermittlung der Ausrichtung des Elements. Bei Einbeziehung wird das Formularsteuerelement zwei Name/Wert-Paare übermitteln: das erste ist dernameundvalueund das zweite ist der Wert desdirname-Attributs als Name, mit einem Wert vonltroderrtl, 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 obige Formular übermittelt wird, wird die Eingabe sowohl das
name/value-Paarfruit=cherryals auch dasdirname/ Richtungs-Paarfruit-dir=ltrversenden. Für weitere Informationen siehe dasdirname-Attribut.
-
-
-
: Ein Boolean-Attribut, das, falls vorhanden, angibt, dass der Benutzer nicht mit der Eingabe interagieren sollte. Deaktivierte Eingaben werden typischerweise heller dargestellt oder verwenden eine andere Form von Hinweis darauf, dass das Feld nicht verfügbar ist.
Insbesondere erhalten deaktivierte Eingaben nicht das
click-Ereignis, und deaktivierte Eingaben werden nicht mit dem Formular eingereicht.Hinweis: Obwohl nicht durch die Spezifikation vorgeschrieben, behält Firefox standardmäßig den dynamischen deaktivierten Zustand eines
<input>-Feldes über Seitenladevorgängen hinweg. Verwenden Sie dasautocomplete-Attribut, um diese Funktion zu steuern.
-
-
-
: Ein String, der das
<form>-Element angibt, mit dem die Eingabe verbunden ist (d.h. ihr Formularbesitz). Der Wert dieses Strings muss, wenn vorhanden, mit derideines<form>-Elements im selben Dokument übereinstimmen. Wenn dieses Attribut nicht angegeben ist, wird das<input>-Element mit dem am nächsten gelegenen umschließenden Formular verbunden, falls vorhanden.Das
form-Attribut erlaubt das Platzieren einer Eingabe irgendwo im Dokument, jedoch das Einbeziehen in ein an anderer Stelle im Dokument befindliches Formular.Hinweis: Eine Eingabe kann nur mit einem Formular verknüpft sein.
-
-
formaction- : Nur gültig für die
imageundsubmit-Eingabetypen. Weitere Informationen finden Sie im submit-Eingabetyp.
- : Nur gültig für die
-
formenctype- : Nur gültig für die
imageundsubmit-Eingabetypen. Weitere Informationen finden Sie im submit-Eingabetyp.
- : Nur gültig für die
-
formmethod- : Nur gültig für die
imageundsubmit-Eingabetypen. Weitere Informationen finden Sie im submit-Eingabetyp.
- : Nur gültig für die
-
formnovalidate- : Nur gültig für die
imageundsubmit-Eingabetypen. Weitere Informationen finden Sie im submit-Eingabetyp.
- : Nur gültig für die
-
formtarget- : Nur gültig für die
imageundsubmit-Eingabetypen. Weitere Informationen finden Sie im submit-Eingabetyp.
- : Nur gültig für die
-
height- : Nur gültig für den
image-Eingabeknopf, ist dieheightdie Höhe der anzuzeigenden Bilddatei, um den grafischen Absenden-Button zu repräsentieren. Siehe den image-Eingabetyp.
- : Nur gültig für den
-
id- : Globales Attribut, das für alle Elemente gültig ist, einschließlich aller Eingabetypen. Es definiert eine eindeutige Kennung (ID), die im gesamten Dokument eindeutig sein muss. Sein Zweck ist es, das Element bei Verlinkungen zu identifizieren. Der Wert wird als Wert des
for-Attributs des<label>-Elements verwendet, um das Label mit dem Formularelement zu verknüpfen. Siehe<label>.
- : Globales Attribut, das für alle Elemente gültig ist, einschließlich aller Eingabetypen. Es definiert eine eindeutige Kennung (ID), die im gesamten Dokument eindeutig sein muss. Sein Zweck ist es, das Element bei Verlinkungen zu identifizieren. Der Wert wird als Wert des
-
inputmode- : Globaler Wert, der für alle Elemente gültig ist. Es bietet einen Hinweis an Browser, welche Art von virtueller Tastaturkonfiguration beim Bearbeiten dieses Elements oder seiner Inhalte verwendet werden soll. Werte umfassen
none,text,tel,url,email,numeric,decimal, undsearch.
- : Globaler Wert, der für alle Elemente gültig ist. Es bietet einen Hinweis an Browser, welche Art von virtueller Tastaturkonfiguration beim Bearbeiten dieses Elements oder seiner Inhalte verwendet werden soll. Werte umfassen
-
list-
: Der angegebene Wert für das
list-Attribut sollte dieideines<datalist>-Elements sein, das sich im selben Dokument befindet. Die<datalist>bietet eine Liste von vordefinierten Werten, um dem Benutzer Vorschläge für diese Eingabe zu machen. Alle Werte in der Liste, die nicht mit demtypekompatibel sind, werden in den vorgeschlagenen Optionen nicht aufgenommen. Die zur Verfügung gestellten Werte sind Vorschläge, keine Anforderungen: Benutzer können aus dieser vordefinierten Liste wählen oder einen anderen Wert angeben.Es ist gültig bei
text,search,url,tel,email,date,month,week,time,datetime-local,number,rangeundcolor.Laut den Spezifikationen wird das
list-Attribut nicht vonhidden,password,checkbox,radio,fileoder einem der Button-Typen unterstützt.Abhängig vom Browser kann der Benutzer eine benutzerdefinierte Farbpalette vorgeschlagen bekommen, Markierungen über eine Skala sehen oder sogar eine Eingabe, die sich wie ein
<select>verhält, aber nicht gelistete Werte zulässt. Schauen Sie sich die Browser-Kompatibilitätstabelle für die anderen Eingabetypen an.Siehe das
<datalist>-Element.
-
-
-
: Gültig für
date,month,week,time,datetime-local,numberundrange, definiert es den größten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebenevaluediesen überschreitet, schlägt das Element bei der Constraints-Überprüfung fehl. Wenn der Wert desmax-Attributs keine Zahl ist, hat das Element keinen Höchstwert.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), kann der Wert von
maxkleiner sein als der Wert vonmin, was darauf hinweist, dass der Bereich möglicherweise umfahren kann; zum Beispiel erlaubt dies, einen Zeitbereich von 22:00 bis 4:00 Uhr anzugeben.
-
-
-
: Gültig für
text,search,url,tel,emailundpassword, definiert es die maximale Zeichenfolgenlänge (gemessen in UTF-16-Code-Einheiten), die der Benutzer in das Feld eingeben kann. Dies muss ein ganzzahliger Wert von 0 oder höher sein. Wenn keinmaxlengthangegeben ist oder ein ungültiger Wert angegeben wird, hat das Feld keine maximale Länge. Dieser Wert muss auch größer oder gleich dem Wert von 'minlength' sein.Die Eingabe wird bei der Constraints-Überprüfung fehlschlagen, wenn die Länge des in das Feld eingegebenen Textes länger ist als
maxlengthUTF-16-Code-Einheiten lang. Standardmäßig verhindern Browser, dass Benutzer mehr Zeichen eingeben, als durch dasmaxlength-Attribut erlaubt ist. Die Constraints-Überprüfung wird nur angewendet, wenn der Wert durch den Benutzer geändert wird. Weitere Informationen finden Sie unter Client-seitige Validierung.
-
-
-
: Gültig für
date,month,week,time,datetime-local,numberundrange, definiert es den negativsten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebenevalueweniger als dies ist, schlägt das Element bei der Constraints-Überprüfung fehl. Wenn der Wert desmin-Attributs keine Zahl ist, hat das Element keinen Mindestwert.Dieser Wert muss weniger als oder gleich dem des
max-Attributs sein. Wenn dasmin-Attribut vorhanden, aber nicht angegeben oder ungültig ist, wird keinmin-Wert angewendet. Wenn dasmin-Attribut gültig ist und ein nicht leerer Wert weniger ist als das Minimum, das durch dasmin-Attribut erlaubt ist, wird die Constraints-Überprüfung das Absenden des Formulars verhindern. Weitere Informationen finden Sie unter Client-seitige Validierung.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), kann der Wert von
maxkleiner sein als der Wert vonmin, was darauf hinweist, dass der Bereich möglicherweise umfahren kann; zum Beispiel erlaubt dies, einen Zeitbereich von 22:00 bis 4:00 Uhr anzugeben.
-
-
- : Gültig für
text,search,url,tel,emailundpassword, definiert es die minimale Zeichenfolgenlänge (gemessen in UTF-16-Code-Einheiten), die der Benutzer in das Feld eingeben kann. Dies muss ein nicht negativer ganzzahliger Wert sein, der kleiner oder gleich dem durchmaxlengthangegebenen Wert ist. Wenn keinminlengthangegeben ist oder ein ungültiger Wert angegeben wird, hat die Eingabe keine Mindestlänge.
Die Eingabe wird bei der Constraints-Überprüfung fehlschlagen, wenn die Länge des in das Feld eingegebenen Textes weniger ist als
minlengthUTF-16-Code-Einheiten lang, was das Absenden des Formulars verhindert. Constraints-Überprüfung wird nur angewendet, wenn der Wert durch den Benutzer geändert wird. Weitere Informationen finden Sie unter Client-seitige Validierung. - : Gültig für
-
name-
: Ein String, der einen Namen für das Eingabesteuerelement angibt. Dieser Name wird zusammen mit dem Wert des Steuerelements beim Absenden der Formulardaten übermittelt.
Betrachten Sie den
nameals ein erforderliches Attribut (obwohl es nicht ist). Wenn eine Eingabe keinennamehat odernameleer ist, wird der Wert der Eingabe nicht mit dem Formular gesendet! (Deaktivierte Steuerelemente, nicht ausgewählte Optionsfelder, nicht ausgewählte Kontrollkästchen und Zurücksetzen-Buttons werden ebenfalls nicht gesendet.)Es gibt zwei Sonderfälle:
_charset_: Wenn als Name eines<input>-Elements des Typs hidden verwendet, wird der Eingabewert vom User Agent automatisch auf die Zeichenkodierung gesetzt, die beim Absenden des Formulars verwendet wird.isindex: Aus historischen Gründen ist der Nameisindexnicht erlaubt.
Das
name-Attribut erstellt ein einzigartiges Verhalten für Optionen.Nur eine Optionsschaltfläche in einer gleichnamigen Gruppe von Optionsschaltflächen kann gleichzeitig ausgewählt sein. Das Auswählen einer beliebigen Optionsschaltfläche in dieser Gruppe deaktiviert automatisch jede derzeit ausgewählte Optionsschaltfläche in derselben Gruppe. Der Wert dieser einen ausgewählten Optionsschaltfläche wird zusammen mit dem Namen gesendet, wenn das Formular abgesendet wird.
Beim Tabben in eine Serie von gleichnamigen Gruppen von Optionsschaltflächen, wenn eine ausgewählt ist, erhält diese den Fokus. Wenn sie in der Quellreihenfolge nicht gruppiert sind und eine der Gruppe ausgewählt ist, beginnt das Tabben in die Gruppe, wenn die erste der Gruppe erreicht wird, wobei alle diejenigen übersprungen werden, die nicht ausgewählt sind. Mit anderen Worten, wenn eine ausgewählt ist, wird das Tabben die nicht ausgewählten Optionsschaltflächen in der Gruppe überspringen. Wenn keine ausgewählt ist, erhält die Optionsschaltflächengruppe den Fokus, wenn die erste Taste in der gleichnamigen Gruppe erreicht ist.
Sobald eine der Optionsschaltflächen in einer Gruppe den Fokus hat, navigieren die Pfeiltasten durch alle gleichnamigen Optionsschaltflächen, auch wenn die Optionsschaltflächen in der Quellreihenfolge nicht zusammen gruppiert sind.
Wenn einem Eingabeelement ein
namegegeben wird, wird dieser Name zu einem Eigentumselement des Formulars über dieHTMLFormElement.elements-Eigenschaft. Wenn Sie eine Eingabe haben, dessennameaufguestgesetzt ist, und eine andere, derennameaufhat-sizejslet form = document.querySelector("form"); let guestName = form.elements.guest; let hatSize = form.elements["hat-size"];
-
// Beispiel-JavaScript-Code zum Erzeugen von Referenzen auf <input /> Felder
const guestName = document.forms[0].elements["guest"]; const hatSize =
document.forms[0].elements["hat-size"];
Wenn dieser Code ausgeführt wurde, wird guestName das HTMLInputElement für das guest-Feld sein und hatSize das Objekt für das hat-size-Feld sein.
Warnung:
Vermeiden Sie es, Formularelementen einen name zu geben, der einem eingebauten Eigentum des Formulars entspricht, da Sie dann die vordefinierte Eigenschaft oder Methode mit dieser Referenz auf das entsprechende Eingabefeld überschreiben würden.
pattern-
Gültig für
text,search,url,tel,emailundpassword, wird daspattern-Attribut verwendet, um einen regulären Ausdruck zu kompilieren, dem dervalueder Eingabe entsprechen muss, damit der Wert die Constraints-Überprüfung besteht. Es muss ein gültiger regulärer JavaScript-Ausdruck sein, wie er vomRegExp-Typ verwendet wird und in unserem Leitfaden für reguläre Ausdrücke dokumentiert ist. Keine Schrägstriche sollten um den Mustertext angegeben werden. Beim Kompilieren des regulären Ausdrucks:- wird das Muster implizit mit
^(?:und)$umschlossen, so dass die Übereinstimmung gegen den gesamten Eingabewert erforderlich ist, d.h.^(?:<pattern>)$. - wird das
'v'-Flag angegeben, so dass das Muster als Folge von Unicode-Zeichencodes und nicht als ASCII behandelt wird.
Wenn das
pattern-Attribut vorhanden, aber nicht angegeben oder ungültig ist, wird kein regulärer Ausdruck angewendet und dieses Attribut vollständig ignoriert. Wenn daspattern-Attribut gültig ist und ein nicht leerer Wert nicht dem Muster entspricht, wird die Constraints-Überprüfung das Absenden des Formulars verhindern. Wenn dasmultiplevorhanden ist, wird der kompilierte reguläre Ausdruck gegen jeden durch Kommas getrennten Wert geprüft.Hinweis: Wenn Sie das
pattern-Attribut verwenden, informieren Sie den Benutzer über das erwartete Format, indem Sie erläuternden Text in der Nähe angeben. Sie können auch eintitle-Attribut hinzufügen, um zu erklären, welche Anforderungen erfüllt werden müssen, um das Muster zu erfüllen; die meisten Browser zeigen diesen Titel als Tooltip an. Die sichtbare Erklärung ist erforderlich für Barrierefreiheit. Der Tooltip ist eine Verbesserung.Weitere Informationen finden Sie unter Client-seitige Validierung.
- wird das Muster implizit mit
placeholder-
Gültig für
text,search,url,tel,email,passwordundnumber, bietet dasplaceholder-Attribut einen kurzen Hinweis auf die Art der erwarteten Information im Feld. Es sollte ein Wort oder eine kurze Phrase sein, die einen Hinweis auf die erwartete Art von Daten gibt, anstatt einer Erklärung oder Aufforderung. Der Text darf keine Wagenrückläufe oder Zeilenumbrüche enthalten. Wenn zum Beispiel ein Feld erwartet, den Vornamen eines Benutzers zu erfassen und sein Label "Vorname" ist, wäre ein geeigneter Platzhalter "z.B. Mustafa".Hinweis: Das
placeholder-Attribut ist nicht so semantisch nützlich wie andere Arten, Ihr Formular zu erklären, und kann unerwartete technische Probleme mit Ihrem Inhalt verursachen. Weitere Informationen finden Sie unter Labels. popovertarget-
Macht ein
<input type="button">-Element zu einem Popover-Steuerungsknopf; nimmt die ID des Popover-Elements, das zu steuern ist, als seinen Wert. Weitere Einzelheiten finden Sie auf der Popover-API-Landungsseite. Das Herstellen einer Beziehung zwischen einem Popover und seinem Einführ-Knopf mittels despopovertarget-Attributs hat zwei zusätzliche nützliche Effekte:- Der Browser erstellt eine implizite
aria-details- undaria-expanded-Beziehung zwischen Popover und Einführer und platziert das Popover, wenn es angezeigt wird, in einer logischen Position in der Tastatur-Fokus-Navigationsreihenfolge. Dies macht das Popover für Tastatur- und Assistive-Technologie (AT)-Benutzer zugänglicher (siehe auch Popover-Accessibility-Funktionen). - Der Browser erstellt eine implizite Ankerreferenz zwischen den beiden, was es sehr bequem macht, Popover relativ zu ihren Steuerungen unter Verwendung von CSS-Ankerpositionierung zu platzieren. Weitere Details finden Sie unter Popover-Ankerpositionierung.
- Der Browser erstellt eine implizite
popovertargetaction-
Gibt die Aktion an, die auf ein Popover-Element ausgeführt werden soll, das von einem Steuerungs-
<input type="button">gesteuert wird. Mögliche Werte sind:- "hide"
-
Der Knopf wird ein angezeigtes Popover verbergen. Wenn Sie versuchen, ein bereits verborgenes Popover zu verbergen, wird keine Aktion durchgeführt.
- "show"
-
Der Knopf wird ein verborgenes Popover anzeigen. Wenn Sie versuchen, ein bereits angezeigtes Popover anzuzeigen, wird keine Aktion durchgeführt.
- "toggle"
-
Der Knopf wird ein Popover zwischen Anzeigen und Verbergen umschalten. Wenn das Popover verborgen ist, wird es angezeigt; wenn das Popover angezeigt wird, wird es verborgen. Wenn
popovertargetactionweggelassen wird, ist "toggle" die Standardaktion, die von dem Steuerknopf durchgeführt wird.
readonly-
Ein Boolean-Attribut, das, falls vorhanden, angibt, dass der Benutzer den Wert der Eingabe nicht bearbeiten können soll. Das
readonly-Attribut wird von dentext,search,url,tel,email,date,month,week,time,datetime-local,numberundpassword-Eingabetypen unterstützt.Weitere Informationen finden Sie im HTML-Attribut:
readonly. required-
requiredist ein Boolean-Attribut, das, falls vorhanden, angibt, dass der Benutzer einen Wert für die Eingabe angeben muss, bevor das Eigentumsformular gesendet werden kann. Dasrequired-Attribut wird von dentext,search,url,tel,email,date,month,week,time,datetime-local,number,password,checkbox,radioundfile-Eingaben unterstützt.Weitere Informationen finden Sie unter Client-seitige Validierung und im HTML-Attribut:
required. size-
Gültig für
email,password,tel,urlundtext, gibt dassize-Attribut an, wie viel von der Eingabe angezeigt wird. Es erzeugt im Grunde das gleiche Ergebnis wie das Setzen der CSS-width-Eigenschaft mit ein paar Besonderheiten. Die tatsächliche Einheit des Wertes hängt vom Eingabetyp ab. Fürpasswordundtextist es eine Anzahl von Zeichen (oderem-Einheiten) mit einem Standardwert von 20 und für andere sind es Pixel (oderpx-Einheiten). CSSwidthhat Vorrang vor demsize-Attribut. src-
Nur gültig für den
image-Eingabeknopf, ist dassrcein String, der die URL der Bilddatei angibt, um den grafischen Absenden-Button anzuzeigen. Siehe den image-Eingabetyp. step-
Gültig für
date,month,week,time,datetime-local,numberundrange, dasstep-Attribut ist eine Zahl, die die Granularität angibt, der der Wert entsprechen muss. Nur Werte, die eine ganze Anzahl von Schritten von der Schrittbasis entfernt sind, sind gültig. Die Schrittbasis istmin, falls angegeben,valueansonsten oder0, wenn weder noch angegeben ist (außerweek, das eine Standardschrittbasis von −259.200.000 hat, was dem Beginn der Woche1970-W01entspricht).Wenn nicht explizit enthalten:
stepstandardmäßig auf 1 fürnumberundrange.- Jeder Datums-/Uhrzeiten-Eingabetyp hat einen Standard-
step-Wert, der für den Typ geeignet ist; Siehe die einzelnen Eingabeseiten:date,datetime-local,month,timeundweek.
Der Wert muss eine positive Zahl sein – entweder Integer oder Float – oder der spezielle Wert
any, was bedeutet, dass kein Schritt impliziert wird und jeder Wert erlaubt ist (mit Ausnahme anderer Einschränkungen, wieminundmax).Zum Beispiel, wenn Sie
<input type="number" min="10" step="2">haben, dann ist jede gerade ganze Zahl,10oder größer, gültig. Wennstepweggelassen wird bei<input type="number">, ist jede ganze Zahl gültig, aber Fließkommazahlen (wie4.2) sind nicht gültig, weilstepstandardmäßig auf1gesetzt ist. Damit4.2gültig ist, hättestepaufany, 0.1, 0.2 gesetzt werden müssen, oder dermin-Wert müsste eine Zahl sein, die auf.2endet, wie<input type="number" min="-5.2">.Hinweis: Wenn die von dem Benutzer eingegebenen Daten nicht der Schrittkonfiguration entsprechen, wird der Wert bei der Constraints-Überprüfung als ungültig angesehen und wird das
:invalid-Pseudoklasse entsprechen.Weitere Informationen finden Sie unter Client-seitige Validierung.
tabindex-
Globales Attribut, das für alle Elemente gültig ist, einschließlich aller Eingabetypen, ein ganzzahliges Attribut, das angibt, ob das Element den Eingabefokus erhalten kann (fokusfähig ist), ob es an die sequentielle Tastaturnavigation teilnehmen soll. Da alle Eingabetypen außer der Eingabe des Typs
hiddenfokussierbar sind, sollte dieses Attribut nicht auf Formularelementen verwendet werden, da dies die Verwaltung der Fokussierreihenfolge für alle Elemente im Dokument erforderlich machen würde, mit dem Risiko, die Bedienbarkeit und Barrierefreiheit zu beeinträchtigen, wenn dies falsch gemacht wird. title-
Globales Attribut, das für alle Elemente gültig ist, einschließlich aller Eingabetypen, das einen Text enthält, der beratende Informationen in Bezug auf das zugehörige Element darstellt. Solche Informationen können typischerweise, aber nicht notwendigerweise, dem Benutzer als Tooltip präsentiert werden. Der Titel sollte NICHT als primäre Erläuterung des Zwecks des Formularelements verwendet werden. Verwenden Sie stattdessen das
<label>-Element mit einemfor-Attribut, das auf dasid-Attribut des Formularelements eingestellt ist. Weitere Einzelheiten finden Sie unter Labels unten. type-
Ein String, der den Typ des darzustellenden Steuerelements angibt. Zum Beispiel, um ein Kontrollkästchen zu erstellen, wird ein Wert von
checkboxverwendet. Wenn weggelassen (oder ein unbekannter Wert angegeben) wird, wird der Eingabetyptextverwendet, um ein Klartext-Eingabefeld zu erstellen.Erlaubte Werte sind in den Eingabetypen oben aufgelistet.
value-
Der Wert des Eingabesteuerelements. Wenn im HTML angegeben, ist dies der Anfangswert, und von da an kann es jederzeit durch JavaScript geändert oder abgerufen werden, um die entsprechende
HTMLInputElement-Objekteigenschaftvaluezuzugreifen. Dasvalue-Attribut ist immer optional, sollte jedoch fürcheckbox,radioundhiddenals obligatorisch angesehen werden. width-
Nur gültig für den
image-Eingabeknopf, diewidthist die Breite der Bilddatei, um den grafischen Absende-Button anzuzeigen. Siehe den image-Eingabetyp.
Nicht standardisierte Attribute
Die folgenden nicht standardisierten Attribute sind auch in einigen Browsern verfügbar. Als allgemeine Regel sollten Sie es vermeiden, diese zu verwenden, es sei denn, es kann nicht anders sein.
| Attribut | Beschreibung |
|---|---|
incremental |
Ob oder ob nicht wiederholte [`search`](/de/docs/Web/API/HTMLInputElement/search_event)-Ereignisse gesendet werden, um Live-Suchergebnisse zu aktualisieren, während der Benutzer noch den Wert des Feldes bearbeitet. Nur WebKit und Blink (Safari, Chrome, Opera, etc.). |
mozactionhint
Veraltet
|
Ein String, der die Art der Aktion angibt, die ausgeführt wird, wenn der Benutzer
die Enter oder Return-Taste drückt, während das
Feld bearbeitet wird; dies wird verwendet, um ein geeignetes Label für diese Taste auf einer
virtuellen Tastatur zu bestimmen. Da dieses Attribut veraltet ist, verwenden Sie |
orient |
Setzt die Orientierung des Bereichs-Schiebereglers fest. Nur Firefox.. |
results |
Die maximale Anzahl von Elementen, die in der Dropdownliste früherer Suchanfragen angezeigt werden sollen. Nur Safari. |
webkitdirectory
|
Ein Boolean, der angibt, ob nur Verzeichnisse zur Auswahl durch den Benutzer im Datei-Auswahl-Interface zulässig sein sollen (oder mehrere, wenn multiple ebenfalls vorhanden ist)
|
incrementalNicht standardisiert-
Das Boolean-Attribut
incrementalist eine WebKit- und Blink-Erweiterung (daher von Safari, Opera, Chrome, etc. unterstützt), die, falls vorhanden, den User Agent dazu anweist, die Eingabe als Live-Suche zu verarbeiten. Wenn der Benutzer den Wert des Feldes bearbeitet, sendet der Benutzeragentsearch-Ereignisse an dasHTMLInputElement-Objekt, das das Suchfeld darstellt. Dies ermöglicht Ihrem Code, die Suchergebnisse in Echtzeit zu aktualisieren, während der Benutzer die Suche bearbeitet.Wenn
incrementalnicht angegeben ist, wird dassearch-Ereignis nur gesendet, wenn der Benutzer eine Suche explizit initiiert (wie durch Drücken der Enter oder Return-Taste, während das Feld bearbeitet wird).Das
search-Ereignis ist so eingeschränkt, dass es nicht häufiger gesendet wird, als ein implementierungsdefiniertes Intervall zulässt. orientNicht standardisiert-
Ähnlich wie die -moz-orient nicht standardisierte CSS-Eigenschaft, die die
<progress>und<meter>-Elemente betrifft, definiert dasorient-Attribut die Orientierung des Bereichs-Schiebereglers. Werte umfassenhorizontal, was bedeutet, dass der Bereich horizontal dargestellt wird, undvertical, was bedeutet, dass der Bereich vertikal dargestellt wird. Siehe Erstellen von vertikalen Formularelementen für einen modernen Ansatz zur Erstellung vertikaler Formularelemente. resultsNicht standardisiert-
Das
results-Attribut – nur von Safari unterstützt – ist ein numerischer Wert, der es Ihnen erlaubt, die maximale Anzahl von Einträgen zu überschreiben, die im nativ bereitgestellten Dropdown-Menü früherer Suchanfragen des<input>-Elements angezeigt werden.Der Wert muss eine nicht negative Dezimalzahl sein. Wenn nicht angegeben oder ein ungültiger Wert gegeben wird, wird die von den Browservorschriften festgelegte Standard-Maximalanzahl von Einträgen verwendet.
webkitdirectoryNicht standardisiert-
Das Boolean-Attribut
webkitdirectory, falls vorhanden, gibt an, dass nur Verzeichnisse zur Auswahl durch den Benutzer im Dateiauswahl-Interface erlaubt sind. SieheHTMLInputElement.webkitdirectoryfür zusätzliche Details und Beispiele.Obwohl ursprünglich nur für WebKit-basierte Browser implementiert, ist
webkitdirectoryauch in Microsoft Edge sowie Firefox 50 und später nutzbar. Trotz seiner relativ breiten Unterstützung ist es jedoch immer noch kein Standard und sollte nicht verwendet werden, es sei denn, Sie haben keine Alternative.
Methoden
Die folgenden Methoden werden durch das HTMLInputElement Interface bereitgestellt, das <input> Elemente im DOM darstellt. Ebenfalls verfügbar sind die Methoden, die von den Eltern-Interfaces HTMLElement, Element, Node und EventTarget spezifiziert sind.
checkValidity()-
Gibt
truezurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; ansonsten gibt esfalsezurück und löst eininvalidEreignis beim Element aus. reportValidity()-
Gibt
truezurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; ansonsten gibt esfalsezurück, löst eininvalidEreignis beim Element aus, und meldet (wenn das Ereignis nicht abgebrochen wird) das Problem dem Benutzer. 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 Kalenderdatumseingabe) tut diese Methode nichts. setCustomValidity()-
Setzt eine benutzerdefinierte Nachricht, die angezeigt wird, wenn der Wert des Eingabeelements ungültig ist.
setRangeText()-
Setzt den Inhalt des angegebenen Bereichs von Zeichen im Eingabeelement auf eine bestimmte Zeichenfolge. Ein
selectModeParameter ist verfügbar, um zu steuern, wie der vorhandene Inhalt beeinflusst wird. setSelectionRange()-
Wählt den angegebenen Bereich von Zeichen innerhalb eines Texteingabeelements aus. Macht nichts bei Eingaben, die nicht als Textfelder angezeigt werden.
showPicker()-
Zeigt den Browser-Auswahlmechanismus für das Eingabeelement, der normalerweise angezeigt wird, wenn das Element ausgewählt wird, aber durch einen Tastendruck oder andere Benutzerinteraktion ausgelöst wird.
stepDown()-
Verringert den Wert einer numerischen Eingabe standardmäßig 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
Inputs, als ersetzte Elemente, haben einige Merkmale, die für nicht-Form-Elemente nicht zutreffen. Es gibt CSS-Selektoren, die speziell auf Formularelemente basierend auf ihren UI-Funktionen abzielen können, auch bekannt als UI-Pseudoklassen. Das Input-Element kann auch nach Typ mit Attributselektoren gezielt werden. Es gibt einige Eigenschaften, die besonders nützlich sind.
UI-Pseudoklassen
| Pseudoklasse | Beschreibung |
|---|---|
:enabled |
Jedes derzeit aktivierbare Element, das aktiviert (ausgewählt, angeklickt, beschrieben usf.) oder in den Fokus genommen werden kann und auch einen deaktivierten Zustand hat, in dem es nicht aktiviert oder in den Fokus genommen werden kann. |
:disabled |
Jedes derzeit deaktivierte Element, das einen aktivierbaren Zustand hat, was bedeutet, dass es andernfalls aktiviert (ausgewählt, angeklickt, beschrieben usf.) oder in den Fokus genommen werden könnte, wenn es nicht deaktiviert wäre. |
:read-only |
Element nicht editierbar durch den Benutzer |
:read-write |
Element, das vom Benutzer editiert werden kann. |
:placeholder-shown |
Element, das derzeit placeholder Text anzeigt,
einschließlich <input> und <textarea> Elemente mit dem placeholder Attribut, die noch keinen Wert haben.
|
:default |
Formularelemente, die das Standard-Element in einer Gruppe verwandter Elemente sind. Entspricht checkbox und radio Eingabetypen, die beim Laden oder Rendern der Seite geprüft wurden. |
:checked |
Entspricht checkbox und
radio Eingabetypen, die derzeit geprüft sind (und dem <option> in einem
<select>, das derzeit ausgewählt ist).
|
:indeterminate |
checkbox Elemente
deren indeterminate Eigenschaft durch JavaScript auf true gesetzt ist,
radio Elemente, wenn alle
Radiobuttons mit demselben Namenswert im Formular nicht ausgewählt sind und
<progress> Elemente in einem unbestimmten Zustand
|
:valid |
Formularelemente, auf die eine Gültigkeitsbeschränkung angewendet werden kann und die derzeit gültig sind. |
:invalid |
Formularelemente, auf die eine Gültigkeitsbeschränkung angewendet wird und die derzeit
nicht gültig sind. Entspricht einem Formularelement, dessen Wert die
durch seine Attribute gesetzten Einschränkungen nicht erfüllt, wie
required,
pattern,
step und max.
|
:in-range |
Eine nicht leere Eingabe, deren aktueller Wert innerhalb der durch die min und max Attribute und das step spezifizierten Bereichsgrenzen liegt.
|
:out-of-range |
Eine nicht leere Eingabe, deren aktueller Wert NICHT innerhalb der durch die min
und max Attribute spezifizierten Bereichsgrenzen liegt oder
nicht der step Einschränkung entspricht.
|
:required |
<input>, <select> oder <textarea> Element, das das required Attribut gesetzt hat.
Entspricht nur Elementen, die erforderlich sein können.
Das Attribut bei einem nicht anfordbaren Element führt nicht zu einer Übereinstimmung.
|
:optional |
<input>, <select> oder
<textarea> Element, das NICHT das required Attribut gesetzt hat.
Entspricht nicht Elementen, die erforderlich sein können.
|
:blank |
<input> und <textarea> Elemente, die derzeit keinen Wert haben.
|
:user-invalid |
Ähnlich wie :invalid, aber wird beim Verlassen aktiviert. Entspricht
ungültigen Eingaben, jedoch nur nach der Benutzerinteraktion, wie durch Fokussierung
des Bedienelements, Verlassen des Bedienelements oder Versuch,
das Formular mit der ungültigen Eingabe zu übermitteln.
|
:open |
<input> Elemente, die einen Auswahldialog zur Verfügung stellen, aus dem der Benutzer einen Wert wählen kann (zum Beispiel <input type="color">) — aber nur, wenn das Element im offenen Zustand ist, also wenn der Dialog angezeigt wird.
|
Pseudoklassen-Beispiel
Wir können ein Kontrollkästchen-Label basierend darauf stylen, ob das Kontrollkästchen markiert ist oder nicht. In diesem Beispiel stylen wir die color und font-weight der <label>, die unmittelbar nach einer geprüften Eingabe kommt. Wir haben keine Styles angewandt, wenn das input nicht markiert ist.
input:checked + label {
color: red;
font-weight: bold;
}
Attributselektoren
Es ist möglich, unterschiedliche Typen von Formulareingaben auf Basis ihres type mit Attributselektoren zu bestimmen. CSS-Attributselektoren passen auf Elemente, die entweder nur das Vorhandensein eines Attributs oder den Wert eines bestimmten Attributs haben.
/* 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 Platzhaltertext halbtransparent oder in hellem Grau. Das ::placeholder Pseudoelement ist der placeholder Text der Eingabe. Es kann mit einem eingeschränkten Satz von CSS-Eigenschaften gestylt werden.
::placeholder {
color: blue;
}
Nur der Teil der CSS-Eigenschaften, die auf das ::first-line Pseudoelement angewendet werden können, kann in einer Regel verwendet werden, die ::placeholder in ihrem Selektor hat.
caret-color
Eine auf texteingabe-bezogene Elemente spezifische Eigenschaft ist die CSS caret-color Eigenschaft, die es ermöglicht, die Farbe zu setzen, in der der Texteingabe-Cursor gezeichnet wird:
HTML
<label for="textInput">Note the red caret:</label>
<input id="textInput" class="custom" size="32" />
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 Standardgröße.) Diese Eigenschaft ermöglicht es Ihnen, das Standardverhalten zu überschreiben, sodass Formularelemente sich in der Größe anpassen, um ihren Inhalt aufzunehmen.
Diese Eigenschaft wird typischerweise verwendet, um Formulareingaben zu erstellen, die ihren Inhalt umschließen und wachsen, wenn mehr Text eingegeben wird. Dies funktioniert mit Eingabetypen, die direkte Texteingaben akzeptieren (zum Beispiel text und url), Eingabetyp file und <textarea> Elemente.
object-position und object-fit
In bestimmten Fällen (typischerweise nicht-textuelle Eingaben und spezialisierte Schnittstellen betreffend) ist das <input> Element ein ersetztes Element. Wenn es dies ist, können die Position und die 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 Farben zu Elementen in HTML, siehe:
Siehe auch:
Zusätzliche Funktionen
>Labels
Labels sind notwendig, um Hilfetext mit einem <input> zu verknüpfen. Das <label> Element bietet erklärende Informationen zu einem Formularfeld, die immer angemessen sind (abgesehen von Layout-Bedenken, die Sie haben könnten). Es ist nie eine schlechte Idee, ein <label> zu verwenden, um zu erklären, was in ein <input> oder <textarea> eingegeben werden sollte.
Zugeordnete Labels
Die semantische Zuordnung von <input> und <label> Elementen ist nützlich für Hilfstechnologien wie Bildschirmleser. Durch die Zuordnung mithilfe des for Attributs des <label> Elements verbinden Sie das Label mit der Eingabe, was es Bildschirmlesern ermöglicht, Eingaben den Benutzern präziser zu beschreiben.
Ein einfacher Text neben dem <input> Element reicht nicht aus. Vielmehr erfordert Benutzbarkeit und Zugänglichkeit die Einbeziehung eines impliziten oder expliziten <label>:
<!-- 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 nicht zugänglich: Es gibt keine Beziehung zwischen der Eingabeaufforderung und dem <input> Element.
Neben einem zugänglichen Namen bietet das Label einen größeren "Treffer"-Bereich für Maus- und Touchscreen-Benutzer zum Klicken oder Berühren. Durch die Zuordnung eines <label> mit einem <input> wird das Fokussieren des <input> sowohl möglich durch Klicken darauf oder dem Label. Wenn Sie einen einfachen Text verwenden, um Ihre Eingabe zu "labeln", passiert dies nicht. Das Einbeziehen der Eingabeaufforderung in den Aktivierungsbereich für die Eingabe ist hilfreich für Personen mit motorischen Beeinträchtigungen.
Als Webentwickler sollten wir nie annehmen, dass die Menschen alles Wissen, was wir wissen. Die Vielfalt der Menschen, die das Internet nutzen – und somit Ihrer Website – stellt praktisch sicher, dass einige Besucher Ihrer Site durch einen unterschiedlichen Denkprozess und/oder Umstände dazu veranlasst werden, Ihre Formulare ganz anders zu interpretieren als Sie ohne klare und ordnungsgemäß präsentierte Labels.
Platzhalter sind nicht zugänglich
Das placeholder Attribut ermöglicht es Ihnen, Text zu spezifizieren, der innerhalb des Inhaltsbereichs des <input> Elements selbst erscheint, wenn es leer ist. Der Platzhalter sollte niemals erforderlich sein, um Ihre Formulare zu verstehen. Er ist kein Label und sollte nicht als Ersatz verwendet werden, weil er das nicht ist. Der Platzhalter wird verwendet, um einen Hinweis darauf zu geben, wie ein eingegebener Wert aussehen sollte, nicht als Erklärung oder Eingabeaufforderung.
Nicht nur ist der Platzhalter nicht zugänglich für Bildschirmleser, sondern sobald der Benutzer Text in das Formularelement eingibt oder wenn das Formularelement bereits einen Wert hat, verschwindet der Platzhalter. Browser mit automatischen Seitentranslationsfunktionen können Attribute beim Übersetzen überspringen, 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 kennzeichnen müssen, verwenden Sie das <label> Element.
Client-seitige Validierung
Warnung:
Client-seitige Validierung ist nützlich, aber garantiert nicht, dass der Server gültige Daten erhält. Wenn die Daten in einem bestimmten Format sein müssen, sollten sie immer auch serverseitig geprüft werden. Bei ungültigem Format ist eine 400 HTTP-Antwort zurückzugeben.
Neben der Verwendung von CSS zum Stylen von Eingaben basierend auf den :valid oder :invalid UI-Stati basierend auf dem aktuellen Zustand jeder Eingabe, wie im Abschnitt zu UI-Pseudoklassen oben beschrieben, ermöglicht der Browser eine client-seitige Validierung bei (versuchter) Formularübermittlung. Bei der Formularübermittlung wird von unterstützenden Browsern auf dem ersten ungültigen Formularelement eine Fehlermeldung angezeigt, in der entweder eine Standardmeldung basierend auf dem Fehlertyp oder eine von Ihnen festgelegte Nachricht angezeigt wird.
Einige Eingabetyen und andere Attribute legen Beschränkungen fest, welche Werte für eine bestimmte Eingabe gültig sind. Zum Beispiel bedeutet <input type="number" min="2" max="10" step="2">, dass nur die Zahlen 2, 4, 6, 8 oder 10 gültig sind. Diverse Fehler könnten auftreten, darunter ein rangeUnderflow Fehler, wenn der Wert kleiner als 2 ist, rangeOverflow, wenn er größer als 10 ist, stepMismatch, wenn der Wert eine Zahl zwischen 2 und 10 ist, aber keine gerade Zahl (der Anforderungen des step Attributs nicht entspricht), oder typeMismatch, wenn der Wert keine Zahl ist.
Für die Eingabetypen, deren Bereich möglicher Werte periodisch ist (d.h. dass die Werte sich am höchsten möglichen Wert wieder zurück auf den Anfang zurücksetzen, anstatt zu enden), können die Werte der max und min Eigenschaften umgekehrt werden, was darauf hinweist, dass der Bereich der erlaubten Werte bei min beginnt, wieder auf den niedrigsten möglichen Wert zurückspringt und dann weitergeht bis max erreicht ist. Dies ist besonders nützlich für Daten und Zeiten, z. B., wenn Sie möchten, dass der Bereich von 20:00 Uhr bis 08:00 Uhr reicht:
<input type="time" min="20:00" max="08:00" name="overnight" />
Bestimmte Attribute und ihre Werte können zu einem spezifischen ValidityState Fehler führen:
| Attribut | Relevante Eigenschaft | Beschreibung |
|---|---|---|
max |
[`validityState.rangeOverflow`](/de/docs/Web/API/ValidityState/rangeOverflow) |
Tritt auf, wenn der Wert größer ist als der maximal durch das max Attribut definierte Wert.
|
maxlength |
[`validityState.tooLong`](/de/docs/Web/API/ValidityState/tooLong) |
Tritt auf, wenn die Anzahl der Zeichen die durch die maxlength Eigenschaft erlaubte Anzahl übersteigt.
|
min |
[`validityState.rangeUnderflow`](/de/docs/Web/API/ValidityState/rangeUnderflow) |
Tritt auf, wenn der Wert kleiner ist als der durch das min Attribut definierte Minimalwert.
|
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 pattern Attribut mit einem gültigen regulären Ausdruck enthalten ist und der value damit nicht übereinstimmt.
|
required |
[`validityState.valueMissing`](/de/docs/Web/API/ValidityState/valueMissing) |
Tritt auf, wenn das required Attribut vorhanden ist, der Wert jedoch null ist oder radio oder checkbox nicht markiert sind.
|
step |
[`validityState.stepMismatch`](/de/docs/Web/API/ValidityState/stepMismatch) |
Der Wert entspricht nicht dem Schrittinkrement. Standard-Inkrement ist 1, also sind nur ganze Zahlen gültig bei type="number", wenn kein Schritt inkludiert ist. step="any" wird diesen Fehler niemals auslösen.
|
type |
[`validityState.typeMismatch`](/de/docs/Web/API/ValidityState/typeMismatch) |
Tritt auf, wenn der Wert nicht vom korrekten Typ ist, beispielsweise, wenn eine E-Mail kein @ enthält oder eine URL kein Protokoll enthält.
|
Wenn ein Formularelement das required Attribut nicht hat, ist ein kein Wert oder eine leere Zeichenfolge nicht ungültig. Selbst wenn die obigen Attribute mit Ausnahme von required vorhanden sind, führt eine leere Zeichenfolge nicht zu einem Fehler.
Wir können Grenzen festlegen, welche Werte wir akzeptieren, und unterstützende Browser werden diese Formularwerte nativ validieren und den Benutzer darauf hinweisen, wenn bei der Übermittlung ein Fehler vorliegt.
Zusätzlich zu den in der obigen Tabelle beschriebenen Fehlern enthält das validityState Interface die booleschen Lese-schreibgeschützten Eigenschaften badInput, valid und customError. Das Validitätsobjekt umfasst:
validityState.valueMissingvalidityState.typeMismatchvalidityState.patternMismatchvalidityState.tooLongvalidityState.tooShortvalidityState.rangeUnderflowvalidityState.rangeOverflowvalidityState.stepMismatchvalidityState.badInputvalidityState.validvalidityState.customError
Für jede dieser booleschen Eigenschaften gibt ein true Wert an, dass der angegebene Grund für das Fehlschlagen der Validierung wahr ist, mit Ausnahme der valid Eigenschaft, die true ist, wenn der Wert des Elements allen Einschränkungen entspricht.
Wenn ein Fehler auftritt, werden unterstützende Browser den Benutzer sowohl darauf hinweisen als auch verhindern, dass das Formular abgesendet wird. Ein Wort der Vorsicht: Wenn eine benutzerdefinierte Fehlermeldung auf einen wahrheitsgemäßen Wert gesetzt wird (alles außer die leere Zeichenfolge oder null), wird das Absenden des Formulars verhindert. Wenn es keine benutzerdefinierte Fehlermeldung gibt und keine der anderen Eigenschaften wahr zurückgibt, wird valid wahr und das Formular kann übermittelt werden.
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 Validitätsnachricht auf die leere Zeichenfolge setzt, ist unerlässlich. Wenn der Benutzer einen Fehler macht und die Validität eingestellt ist, wird das Formular nicht abgesendet, auch 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 auf <input> (und verwandten) Elementen verfügbar ist. Betrachten Sie das folgende Formular:
<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 werden dazu führen, dass diese eine Standardfehlermeldung erzeugt, wenn Sie versuchen, das Formular entweder mit einem ungültigen Wert oder ohne Wert auszufüllen, oder einem Wert, der nicht mit dem pattern übereinstimmt.
Wenn Sie stattdessen benutzerdefinierte Fehlermeldungen anzeigen möchten, könnten Sie JavaScript wie folgendes verwenden:
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 rendert so:
Kurz gesagt:
- Wir überprüfen den gültigen Zustand des Eingabeelements jedes Mal, wenn sich der Wert ändert, durch den Einsatz der
checkValidity()Methode über deninputEreignishandler. - Wenn der Wert ungültig ist, wird ein
invalidEreignis ausgelöst, und dieinvalidEreignishandlerfunktion ausgeführt. Innerhalb dieser Funktion prüfen wir, ob der Wert ungültig ist, weil er leer ist oder weil er nicht mit dem Muster übereinstimmt, unter Verwendung einesif ()Blocks und setzen eine benutzerdefinierte Gültigkeitsfehlermeldung. - Folglich, wenn der Eingabewert ungültig ist, wenn die Senden-Schaltfläche gedrückt wird, wird eine der benutzerdefinierten Fehlermeldungen angezeigt.
- Wenn er gültig ist, wird er wie erwartet übermittelt. Damit dies geschehen kann, muss die benutzerdefinierte Validität aufgehoben werden, indem Sie
setCustomValidity()mit einem leeren Zeichenfolgenwert ausführen. Wir machen dies daher jedes Mal, wenn dasinputEreignis ausgelöst wird. Wenn Sie dies nicht tun und eine benutzerdefinierte Validität zuvor festgelegt wurde, registriert die Eingabe als ungültig, selbst wenn sie derzeit einen gültigen Wert bei der Übermittlung enthält.
Hinweis: Validieren Sie stets Eingabeeinschränkungen sowohl clientseitig als auch serverseitig. Die Einschränkungsvalidierung entfernt nicht die Notwendigkeit einer Validierung an der Server-Seite. Ungültige Werte können weiterhin von älteren Browsern oder böswilligen Akteuren gesendet werden.
Hinweis:
Firefox unterstützte lange ein proprietäres Fehlerattribut — x-moz-errormessage —, das es Ihnen ermöglichte, benutzerdefinierte Fehlermeldungen auf ähnliche Art festzulegen. Dieses wurde ab Version 66 entfernt (siehe Firefox Bug 1513890).
Lokalisierung
Die erlaubten Eingaben für bestimmte <input> Typen hängen von der Lokalisierung ab. In einigen Regionen ist 1.000,00 eine gültige Zahl, während in anderen Regionen der gültige Weg, diese Zahl einzugeben, 1.000,00 ist.
Firefox verwendet die folgenden Heuristiken, um die Lokalisierung zur Validierung der Benutzereingabe zu bestimmen (zumindest für type="number"):
- Versuchen Sie die Sprache, die durch ein
lang/xml:langAttribut auf dem Element oder einem seiner Elternteile angegeben wird. - Versuchen Sie die Sprache, die von einem
Content-LanguageHTTP-Header angegeben wird. Oder, - Wenn keine angegeben ist, verwenden Sie die Browser-Sprache.
Barrierefreiheit
>Labels
Wenn Eingaben hinzugefügt werden, ist es eine Voraussetzung zur Barrierefreiheit, Labels nebenhinzuzufügen. Dies ist notwendig, damit Benutzer, die Hilfstechnologien verwenden, erkennen können, wofür die Eingabe ist. Auch das Klicken oder Berühren eines Labels fokussiert das zugehörige Formulareingabefeld. Dies verbessert die Barrierefreiheit und Benutzbarkeit für sehende Benutzer, erhöht die Fläche, die ein Benutzer zum Klicken oder Berühren aktivieren kann, und ist besonders nützlich (und sogar notwendig) für Kontrollkästchen und Radiobuttons, die winzig sind. Für mehr Informationen über Labels im Allgemeinen siehe Labels.
Das folgende ist ein Beispiel, wie man das <label> mit einem <input> Element im oben beschriebenen Stil verknüpft. Sie müssen dem <input> ein id Attribut geben. Das <label> benötigt dann ein for Attribut, dessen Wert mit der id des Eingabefelds übereinstimmt.
<label for="peas">Do you like peas?</label>
<input type="checkbox" name="peas" id="peas" />
Größe
Interaktive Elemente wie Formulareingaben sollten eine Fläche bieten, die groß genug ist, um leicht aktiviert zu werden. Dies hilft einer Vielzahl von Menschen, einschließlich Personen mit motorischen Beeinträchtigungen und Personen, die nicht-präzise Eingabemethoden wie einen Stift oder Finger verwenden. Eine Mindest-Interaktionsgröße von 44×44 CSS-Pixel wird empfohlen.
Technische Übersicht
| Inhaltskategorien |
Flow-Inhalt, gelistet, übermittelbar, rücksetzbares, formular-assoziiertes Element,
Phraseologie-Inhalt. Wenn das type nicht `hidden` ist, dann etikettierbares Element, fühlbarer Inhalt.
|
|---|---|
| Erlaubter Inhalt | Keine; es ist ein leerelement. |
| Tag-Auslassung | Muss ein Start-Tag haben und darf kein End-Tag haben. |
| Erlaubte Eltern | Jedes Element, das Phraseologie-Inhalt akzeptiert. |
| Implizierte ARIA-Rolle |
|
| Erlaubte ARIA-Rollen |
|
| DOM Interface | [`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement) |
Spezifikationen
| Specification |
|---|
| HTML> # the-input-element> |