<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 Steuerungen für webbasierte Formulare zu erstellen, um Daten vom Benutzer zu akzeptieren; eine Vielzahl von Arten von Eingabedaten und Steuerungswidgets stehen zur Verfügung, abhängig vom Gerät und vom User-Agent. Das <input>
-Element ist eines der mächtigsten und komplexesten im gesamten 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 in Abhängigkeit vom Wert seines type
-Attributs, daher werden die verschiedenen Typen auf ihren eigenen separaten Referenzseiten behandelt. Wenn dieses Attribut nicht angegeben ist, wird als Standardtyp text
angenommen.
Die verfügbaren Typen sind wie folgt:
Typ | Beschreibung | Einfaches Beispiel |
---|---|---|
button |
Eine Schaltfläche ohne Standardverhalten, die den Wert des value -Attributs anzeigt, standardmäßig leer.
|
|
checkbox | Ein Kontrollkästchen, das einzelne Werte ausgewählt/abgewählt werden lässt. |
|
color | Ein Steuerungselement zur Farbauswahl, das in unterstützenden Browsern einen Farbwähler öffnet, wenn aktiv. |
|
date | Eine Steuerung zur Eingabe eines Datums (Jahr, Monat und Tag ohne Zeit). Öffnet einen Datumsauswähler oder numerische Rollen für Jahr, Monat, Tag, wenn aktiv in unterstützenden Browsern. |
|
datetime-local | Eine Steuerung, um ein Datum und eine Zeit ohne Zeitzone einzugeben. Öffnet einen Datumsauswähler oder numerische Rollen für Datum- und Zeitkomponenten, wenn aktiv in unterstützenden Browsern. |
|
Ein Feld zur Bearbeitung einer E-Mail-Adresse. Sieht aus wie eine
text -Eingabe, hat jedoch Validierungsparameter und eine relevante
Tastatur in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
|
|
|
file |
Eine Steuerung, mit der der Benutzer eine Datei auswählen kann.
Verwenden Sie das accept -Attribut, um die Dateitypen zu definieren, die die Steuerung auswählen kann.
|
|
hidden | Eine Steuerung, die nicht angezeigt wird, deren Wert jedoch an den Server übermittelt wird. Es gibt ein Beispiel in der nächsten Spalte, aber es ist versteckt! | |
image |
Eine grafische submit -Schaltfläche. Zeigt ein Bild basierend auf dem src -Attribut an.
Das alt -Attribut wird angezeigt, wenn das Bild src fehlt.
|
|
month | Ein Steuerungselement zur Eingabe eines Monats und Jahres, ohne Zeitzone. |
|
number | Ein Steuerungselement zur Eingabe einer Zahl. Zeigt einen Spinner und fügt Standardvalidierung hinzu. Zeigt eine numerische Tastatur auf einigen Geräten mit dynamischen Tastaturen an. |
|
password | Ein einzeiliges Textfeld, dessen Wert verdeckt wird. Warnung des Benutzers, wenn die Seite nicht sicher ist. |
|
radio |
Ein Optionsfeld, das ermöglicht, einen einzelnen Wert aus mehreren Auswahlmöglichkeiten mit dem gleichen name -Wert auszuwählen.
|
>
|
range |
Ein Steuerungselement zur Eingabe einer Zahl, deren genauer Wert nicht wichtig ist.
Wird als Bereichs-Widget angezeigt, standardmäßig auf den mittleren Wert eingestellt.
Wird in Verbindung mit min und max verwendet, um den Bereich akzeptabler Werte zu definieren.
|
|
reset | Eine Schaltfläche, die den Inhalt des Formulars auf die Standardwerte zurücksetzt. Nicht empfohlen. |
|
search | Ein einzeiliges Textfeld zur Eingabe von Suchbegriffen. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. Kann in unterstützenden Browsern ein Löschsymbol enthalten, das zum Leeren des Felds verwendet werden kann. Zeigt auf einigen Geräten mit dynamischen Tastaturen ein Suchsymbol anstelle der Eingabetaste an. |
|
submit | Eine Schaltfläche, die das Formular übermittelt. |
|
tel | Ein Steuerungselement zur Eingabe einer Telefonnummer. Zeigt eine Telefontastatur auf einigen Geräten mit dynamischen Tastaturen an. |
|
text | Der Standardwert. Ein einzeiliges Textfeld. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. |
|
time | Eine Steuerung zur Eingabe eines Zeitwertes ohne Zeitzone. |
|
url |
Ein Feld zur Eingabe einer URL. Sieht aus wie ein text -Eingabefeld, hat
jedoch Validierungsparameter und relevante Tastatur in unterstützenden Browsern
und Geräten mit dynamischen Tastaturen.
|
|
week | Eine Steuerung zur Eingabe eines Datums, bestehend aus einer Kalenderwoche und Jahr, ohne Zeitzone. |
|
Veraltete Werte | ||
datetime
Veraltet
|
Eine Steuerung zur Eingabe eines Datums und einer Zeit (Stunde, Minute, Sekunde und Bruchteil einer Sekunde) basierend auf der UTC-Zeitzone. |
|
Attribute
Das <input>
-Element ist so mächtig wegen seiner Attribute; das type
-Attribut, wie oben mit Beispielen beschrieben, ist das wichtigste. Da jedes <input>
-Element, unabhängig vom Typ, auf der HTMLInputElement
-Schnittstelle basiert, teilen sie technisch gesehen dieselbe Attributgruppe. In der Praxis haben jedoch die meisten Attribute nur einen Effekt auf einen bestimmten Teil der Eingabetypen. Darüber hinaus hängt die Art und Weise, wie einige Attribute ein Eingabeelement 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. Diese Tabelle wird gefolgt von einer Liste, die jedes Attribut detaillierter beschreibt, zusammen mit den Eingabetypen, mit denen sie assoziiert sind. Attribute, die den meisten oder allen Eingabetypen gemeinsam sind, werden weiter unten im Detail definiert. Attribute, die besonderen Eingabetypen eigen sind oder Attribute, die allen Eingabetypen gemeinsam sind, 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 für den erwarteten Dateityp bei Dateiupload-Steuerelementen |
alt |
image |
alt-Attribut für den Bildtyp. 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 Schaltflächen |
Hinweis für die Formular-Autovervollständigungsfunktion |
capture |
file |
Methode zur Medienaufnahme beim Dateiupload-Steuerelement |
checked |
checkbox , radio |
Ob der Befehl oder die Steuerung aktiviert ist |
dirname |
hidden , text , search , url , tel , email |
Name des Formularfeldes, das für das Senden der Direktionalität des Elements bei der Formularübermittlung verwendet wird |
disabled |
alle | Ob das Formularsteuerelement deaktiviert ist |
form |
alle | Ordnet die Steuerung einem Formularelement zu |
formaction |
image , submit |
URL, die für die Formularübermittlung verwendet wird |
formenctype |
image , submit |
Kodierungstyp des Datenensatzes, der für die Formularübermittlung verwendet wird |
formmethod |
image , submit |
HTTP-Methode, die für die Formularübermittlung verwendet wird |
formnovalidate |
image , submit |
Umgehung der Formularsteuerung-Validierung bei der Formularübermittlung |
formtarget |
image , submit |
Browsing-Kontext für die Formularübermittlung |
height |
image |
Wie das height-Attribut für <img> ; vertikale Dimension |
list |
alle außer hidden , password , checkbox , radio und Schaltflächen |
Wert des id-Attributs der <datalist> der Autovervollständigungsoptionen |
max |
date , month , week , time , datetime-local , number , range |
Höchstwert |
maxlength |
text , search , url , tel , email , password |
Maximale Länge (Anzahl der Zeichen) von value |
min |
date , month , week , time , datetime-local , number , range |
Mindestwert |
minlength |
text , search , url , tel , email , password |
Minimale Länge (Anzahl der Zeichen) von value |
multiple |
email , file |
Boolean. Ob mehrere Werte erlaubt sind |
name |
alle | Name der Formularsteuerung. Wird mit dem Formular als Name/Wert-Paar übermittelt |
pattern |
text , search , url , tel , email , password |
Muster, das value entsprechen muss, um gültig zu sein |
placeholder |
text , search , url , tel , email , password , number |
Text, der im Formularsteuerelement erscheint, wenn kein Wert festgelegt ist |
popovertarget |
button |
Legt ein <input type="button"> als Steuerung für ein Popover-Element fest |
popovertargetaction |
button |
Gibt die Aktion an, die eine Popover-Steuerung ausführen soll |
readonly |
alle außer hidden , range , color , checkbox , radio und Schaltflächen |
Boolean. Der Wert ist nicht bearbeitbar |
required |
alle außer hidden , range , color und Schaltflächen |
Boolean. Ein Wert ist erforderlich oder muss überprüft werden, damit das Formular übermittelt werden kann |
size |
text , search , url , tel , email , password |
Größe der Steuerung |
src |
image |
Wie das 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 der Formularsteuerung |
value |
alle außer image |
Der Wert der Steuerung. Wenn im HTML angegeben, entspricht das dem Anfangswert |
width |
image |
Wie das width -Attribut für <img> |
Einige zusätzliche nicht-standardisierte Attribute werden nach den Beschreibungen der Standardattribute aufgelistet.
Einzelne Attribute
-
- : Nur für den
file
-Eingabetyp gültig, definiert dasaccept
-Attribut, welche Dateitypen in einemfile
-Upload-Steuerelement auswählbar sind. Siehe den file-Eingabetyp.
- : Nur für den
-
alt
- : Nur gültig für den
image
-Button, bietet dasalt
-Attribut einen alternativen Text für das Bild und zeigt den Wert des Attributs an, wenn das Bild-src
(#src) fehlt oder sonst fehlschlägt. Siehe den image-Eingabetyp.
- : Nur gültig für den
-
autocapitalize
- : Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, auf welche Weise. Weitere Informationen finden Sie auf der globalen Attributseite
autocapitalize
.
- : Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, auf welche Weise. Weitere Informationen finden Sie auf der globalen Attributseite
-
- : (Kein Boolean-Attribut!) Das
autocomplete
-Attribut nimmt als Wert eine durch Leerzeichen getrennte Zeichenfolge, die beschreibt, welche, wenn überhaupt, Art von Autovervollständigungsfunktionalität das Eingabefeld bieten sollte. Eine typische Implementierung von Autovervollständigung erinnert sich an zuvor eingegebene Werte im selben Eingabefeld, aber komplexere Formen der Autovervollständigung können existieren. Zum Beispiel könnte ein Browser mit der Kontaktliste eines Geräts integrieren, um E-Mail-Adressen in einem E-Mail-Eingabefeld zu vervollständigen. Sieheautocomplete
für erlaubte Werte.
Das
autocomplete
-Attribut ist gültig fürhidden
,text
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,range
,color
undpassword
. Dieses Attribut hat keinen Effekt auf Eingabetypen, die keine numerischen oder textuellen Daten zurückgeben, und ist für alle Eingabetypen gültig, außercheckbox
,radio
,file
oder irgendwelche der Schaltflächentypen.Weitere Informationen, einschließlich Informationen zur Passwortsicherheit und darüber, wie
autocomplete
fürhidden
leicht anders ist als für andere Eingabetypen, finden Sie imautocomplete
-Attribut. - : (Kein Boolean-Attribut!) Das
-
autofocus
-
: Ein Boolean-Attribut, das, wenn vorhanden, anzeigt, dass das Eingabefeld automatisch den Fokus erhalten soll, wenn die Seite vollständig geladen wurde (oder wenn das
<dialog>
mit dem Element angezeigt wurde).Hinweis: Ein Element mit dem
autofocus
-Attribut kann bereits 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 einem Element vorhanden ist, erhält das erste Element mit diesem Attribut den Fokus.Das
autofocus
-Attribut kann nicht auf Eingaben vom Typhidden
verwendet werden, da versteckte Eingaben nicht den Fokus erhalten können.Warnung: Automatisches Fokussieren auf ein Formularelement kann verwirrend für sehbehinderte Personen sein, die Bildschirmlesetechnologie verwenden, ebenso wie für Menschen mit kognitiven Beeinträchtigungen. Wenn
autofocus
zugewiesen ist, "teleportieren" Bildschirmlesegeräte ihren Benutzer ohne vorherige Warnung zum Formularelement.
Verwenden Sie bei der Anwendung des
autofocus
-Attributs eine sorgfältige Überlegung zur Barrierefreiheit. Das automatische Fokussieren auf ein Steuerelement kann dazu führen, dass die Seite beim Laden scrollt. Der Fokus kann außerdem dazu führen, dass auf einigen Touch-Geräten dynamische Tastaturen angezeigt werden. Während ein Bildschirmleser das Label des jeweils fokussierten Formularsteuerelements ansagt, wird er nichts vor dem Label ansagen, und der sehende Benutzer auf einem kleinen Gerät wird gleichermaßen den Kontext, der durch den vorangehenden Inhalt erzeugt wurde, verpassen. -
-
- : Eingeführt in der HTML Media Capture-Spezifikation und gültig nur für den
file
-Eingabetyp, definiert dascapture
-Attribut, welches Medium — Mikrofon, Video oder Kamera — zur Erfassung einer neuen Datei zum Hochladen mitfile
-Upload-Steuerung verwendet werden soll in unterstützenden Szenarien. Siehe den file-Eingabetyp.
- : Eingeführt in der HTML Media Capture-Spezifikation und gültig nur für den
-
checked
-
: Gültig für sowohl
radio
- als auchcheckbox
-Typen,checked
ist ein Boolean-Attribut. Wenn es vorhanden ist auf einemradio
-Typ, zeigt es an, dass die Optionsschaltfläche momentan die ausgewählte in der Gruppe der gleichnamigen Optionsschaltflächen ist. Wenn es auf einemcheckbox
-Typ vorhanden ist, zeigt es an, dass das Kontrollkästchen standardmäßig aktiviert ist (wenn die Seite geladen wird). Es zeigt nicht an, ob dieses Kontrollkästchen momentan aktiviert ist: wenn der Zustand des Kontrollkästchens geändert wird, spiegelt dieses Inhaltsattribut die Änderung nicht wider. (Nur dasHTMLInputElement
'schecked
IDL-Attribut wird aktualisiert.)Hinweis: Im Gegensatz zu anderen Eingabesteuerelementen wird der Wert eines Kontrollkästchens oder einer Optionsschaltfläche nur dann in den übermittelten Daten aufgenommen, wenn sie momentan
checked
ist. Wenn sie es sind, werden der Name und der Wert(e) der aktivierten Steuerungen übermittelt.Zum Beispiel: Wenn ein Kontrollkästchen, dessen
name
fruit
ist, einenvalue
voncherry
hat und das Kontrollkästchen aktiviert ist, dann wird in den übermittelten Formulardatenfruit=cherry
enthalten sein. Wenn das Kontrollkästchen nicht aktiv ist, wird es überhaupt nicht in den Formulardaten aufgeführt. Der Standard-value
für Kontrollkästchen und Optionsschaltflächen iston
.
-
-
-
: Gültig für
hidden
,text
,search
,url
,tel
undemail
Eingabetypen, aktiviert dasdirname
-Attribut die Übermittlung der Direktionalität des Elements. Wenn eingeschlossen, wird die Formularsteuerung mit zwei Namen/Wert-Paaren übermittelt: das erste ist dername
undvalue
, und das zweite ist der Wert desdirname
-Attributs als Name, mit einem Wert vonltr
oderrtl
, 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, wird der Eingabewert sowohl zu dem
name
/value
-Paarfruit=cherry
als auch zu demdirname
/Richtungs-Paarfruit-dir=ltr
gesendet. Weitere Informationen finden Sie imdirname
-Attribut.
-
-
-
: Ein Boolean-Attribut, das, wenn vorhanden, anzeigt, dass der Benutzer nicht mit der Eingabe interagieren sollte. Deaktivierte Eingaben werden normalerweise in einer gedimmten Farbe dargestellt oder mit einer anderen Form der Anzeige, dass das Feld nicht verfügbar ist.
Deaktivierte Eingaben empfangen insbesondere nicht das
click
-Ereignis, und deaktivierte Eingaben werden auch nicht mit dem Formular übermittelt.Hinweis: Obwohl es von der Spezifikation nicht erforderlich ist, wird Firefox standardmäßig den dynamischen deaktivierten Zustand über Seitenladevorgänge hinweg beibehalten eines
<input>
Elements. Verwenden Sie dasautocomplete
-Attribut, um diese Funktion zu steuern.
-
-
-
: Ein String, der das zugeordnete
<form>
-Element angibt (d.h. seinen Formularbesitzer). Der Wert dieses Strings, wenn vorhanden, muss mit derid
eines<form>
-Elements im selben Dokument übereinstimmen. Wenn dieses Attribut nicht angegeben ist, wird das<input>
-Element dem nächstgelegenen enthaltenen Formular zugeordnet, falls vorhanden.Das
form
-Attribut ermöglicht es, eine Eingabe an beliebigen Stellen im Dokument zu platzieren, aber es mit einem Formular anderswo im Dokument zu verknüpfen.Hinweis: Eine Eingabe kann nur mit einem einzigen Formular verbunden sein.
-
-
formaction
- : Nur gültig für die
image
- undsubmit
-Eingabetypen. Siehe den submit-Eingabetyp für mehr Informationen.
- : Nur gültig für die
-
formenctype
- : Nur gültig für die
image
- undsubmit
-Eingabetypen. Siehe den submit-Eingabetyp für mehr Informationen.
- : Nur gültig für die
-
formmethod
- : Nur gültig für die
image
- undsubmit
-Eingabetypen. Siehe den submit-Eingabetyp für mehr Informationen.
- : Nur gültig für die
-
formnovalidate
- : Nur gültig für die
image
- undsubmit
-Eingabetypen. Siehe den submit-Eingabetyp für mehr Informationen.
- : Nur gültig für die
-
formtarget
- : Nur gültig für die
image
- undsubmit
-Eingabetypen. Siehe den submit-Eingabetyp für mehr Informationen.
- : Nur gültig für die
-
height
- : Nur gültig für den
image
-Inputbutton, istheight
die Höhe der Bilddatei, die angezeigt werden soll, um die grafische Absenden-Schaltfläche darzustellen. Siehe den image-Eingabetyp.
- : Nur gültig für den
-
id
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen. Es definiert eine eindeutige Kennung (ID), die im gesamten Dokument einzigartig sein muss. Der Zweck besteht darin, das Element beim Verlinken zu identifizieren. Der Wert wird als Wert des
<label>
'sfor
-Attributes verwendet, um das Label mit der Formularsteuerung zu verknüpfen. Siehe<label>
.
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen. Es definiert eine eindeutige Kennung (ID), die im gesamten Dokument einzigartig sein muss. Der Zweck besteht darin, das Element beim Verlinken zu identifizieren. Der Wert wird als Wert des
-
inputmode
- : Globaler Wert, gültig für alle Elemente, er gibt den Browsern einen Hinweis auf die Konfiguration der virtuellen Tastatur, die beim Bearbeiten dieses Elements oder seines Inhalts verwendet wird. Die Werte umfassen
none
,text
,tel
,url
,email
,numeric
,decimal
undsearch
.
- : Globaler Wert, gültig für alle Elemente, er gibt den Browsern einen Hinweis auf die Konfiguration der virtuellen Tastatur, die beim Bearbeiten dieses Elements oder seines Inhalts verwendet wird. Die Werte umfassen
-
list
- : Der Wert, der dem
list
-Attribut gegeben wird, sollte dieid
eines<datalist>
-Elements sein, das sich im selben Dokument befindet. Das<datalist>
bietet eine Liste von vordefinierten Werten, die dem Benutzer für diese Eingabe vorgeschlagen werden sollen. Alle Werte in der Liste, die mit demtype
nicht kompatibel sind, sind in den vorgeschlagenen Optionen nicht enthalten. Die bereitgestellten Werte sind Vorschläge, keine Anforderungen: Benutzer können aus dieser vordefinierten Liste auswählen oder einen anderen Wert angeben.
Es ist gültig auf
text
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,range
undcolor
.Gemäß den Spezifikationen wird das
list
-Attribut nicht vonhidden
,password
,checkbox
,radio
,file
oder einem der Schaltflächentypen unterstützt.Abhängig vom Browser könnte der Benutzer eine benutzerdefinierte Farbpalette vorgeschlagen bekommen, Tick-Markierungen entlang eines Bereichs oder sogar eine Eingabe, die sich wie ein
<select>
öffnet, aber es erlaubt, nicht aufgelistete Werte einzufügen. Prüfen Sie die Browser-Kompatibilitäts-Tabelle für die anderen Eingabetypen.Siehe das
<datalist>
-Element. - : Der Wert, der dem
-
- : Gültig für
date
,month
,week
,time
,datetime-local
,number
undrange
, definiert es den größten Wert im Bereich der erlaubten Werte. Wenn der in das Element eingegebenevalue
diesen überschreitet, schlägt das Element bei der Einschränkungsvalidierung fehl. Wenn der Wert desmax
-Attributs keine Zahl ist, hat das Element keinen Höchstwert.
Es gibt einen speziellen Fall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), darf der Wert von
max
niedriger als der Wert vonmin
sein, was darauf hinweist, dass sich der Bereich umwickeln kann; zum Beispiel können Sie so einen Zeitbereich von 22 Uhr bis 4 Uhr festlegen. - : Gültig für
-
- : Gültig für
text
,search
,url
,tel
,email
undpassword
, definiert es die maximale Zeichenlänge (gemessen in UTF-16 Code-Einheiten), die der Benutzer in das Feld eingeben kann. Dies muss ein Ganzzahlwert von 0 oder höher sein. Wenn keinmaxlength
festgelegt ist oder ein ungültiger Wert festgelegt ist, hat das Feld keine maximale Länge. Dieser Wert muss auch größer oder gleich dem Wert vonminlength
sein.
Die Eingabe wird die Einschränkungsvalidierung nicht bestehen, wenn die Länge des in das Feld eingegebenen Textes länger als
maxlength
UTF-16 Code-Einheiten ist. Standardmäßig verhindern Browser, dass Benutzer mehr Zeichen als vonmaxlength
erlaubt eingeben. Einschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Siehe Client-seitige Validierung für weitere Informationen. - : Gültig für
-
- : Gültig für
date
,month
,week
,time
,datetime-local
,number
undrange
, definiert es den kleinsten Wert im Bereich der erlaubten Werte. Wenn der in das Element eingegebenevalue
kleiner als dieser Wert ist, schlägt das Element bei der Einschränkungsvalidierung fehl. Wenn der Wert desmin
-Attributs keine Zahl ist, dann hat das Element keinen Mindestwert.
Dieser Wert muss kleiner oder gleich dem Wert 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 kleiner ist als das Minimum, das vommin
-Attribut erlaubt wird, wird die Einschränkungsvalidierung die Einreichung des Formulars verhindern. Siehe Client-seitige Validierung für weitere Informationen.Es gibt einen besonderen Fall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), darf der Wert von
max
niedriger als der Wert vonmin
sein, was darauf hinweist, dass sich der Bereich umwickeln kann; zum Beispiel können Sie so einen Zeitbereich von 22 Uhr bis 4 Uhr festlegen. - : Gültig für
-
- : Gültig für
text
,search
,url
,tel
,email
undpassword
, definiert es die minimal erforderliche Zeichenlänge (gemessen in UTF-16 Code-Einheiten), die der Benutzer in das Eingabefeld eingeben muss. Dies muss ein nicht-negativer Ganzzahlwert sein, der kleiner als oder gleich dem Wert ist, der vonmaxlength
spezifiziert wird. Wenn keinminlength
festgelegt oder ein ungültiger Wert angegeben ist, hat die Eingabe keine Mindestlänge.
Die Eingabe wird die Einschränkungsvalidierung nicht bestehen, wenn die Länge des in das Feld eingegebenen Textes kürzer als
minlength
UTF-16 Code-Einheiten ist und die Übermittlung des Formulars verhindert. Einschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Siehe Client-seitige Validierung für weitere Informationen. - : Gültig für
-
name
-
: Ein String, der einen Namen für die Eingabesteuerung spezifiziert. Dieser Name wird zusammen mit dem Wert der Steuerung gesendet, wenn die Formulardaten gesendet werden.
Betrachten Sie den
name
als erforderliches Attribut (auch wenn es nicht so ist). Wenn eine Eingabe keinenname
hat, odername
leer ist, wird der Wert der Eingabe nicht mit dem Formular gesendet! (Deaktivierte Steuerungen, nicht markierte Optionsfelder, nicht markierte Kontrollkästchen und Reset-Knöpfe werden ebenfalls nicht gesendet.)Es gibt zwei Sonderfälle:
_charset_
: Wenn verwendet als Name eines<input>
-Elements des Typs hidden, wird dervalue
der Eingabe automatisch durch den User-Agent auf die zur Übermittlung des Formulars verwendete Zeichencodierung gesetzt.isindex
: Aus historischen Gründen ist der Nameisindex
nicht erlaubt.
Das
name
-Attribut schafft ein einzigartiges Verhalten für Optionsschaltflächen.Nur eine Optionsschaltfläche in einer gleichnamigen Gruppe von Optionsschaltflächen kann zu einem Zeitpunkt markiert sein. Die Auswahl einer beliebigen Optionsschaltfläche in dieser Gruppe hebt automatisch die Markierung der aktuell ausgewählten Optionsschaltfläche in derselben Gruppe auf. Der Wert dieser einen markierten Optionsschaltfläche wird zusammen mit dem Namen gesendet, wenn das Formular übermittelt wird.
Wenn in eine Serie gleichnamiger Gruppen von Optionsschaltflächen getippt wird, wird, falls eine markiert ist, diese den Fokus erhalten. Wenn sie nicht in der Quellreihenfolge gruppiert sind, wenn eine der Gruppe markiert ist, beginnt das Tabbing in die Gruppe, wenn die erste der Gruppe erreicht wird und überspringt alle, die nicht markiert sind. Mit anderen Worten, wenn eine markiert ist, wird das Tabben die nicht markierten Optionsschaltflächen in der Gruppe überspringen. Wenn keine markiert sind, erhält die Optionsschaltflächengruppe den Fokus, wenn die erste Schaltfläche in der gleichen Namensgruppe erreicht ist.
Sobald eine der Radio-Knöpfe in einer Gruppe den Fokus hat, bewegen sich die Pfeiltasten durch alle Radio-Knöpfe mit demselben Namen, selbst wenn die Radio-Knöpfe in der Quellreihenfolge nicht gruppiert sind.
Wenn einem Input-Element ein
name
gegeben wird, wird dieser Name zu einer Eigenschaft des owners form element's'HTMLFormElement.elements'-Eigenschaft. Wenn Sie ein Eingabefeld haben, dessenname
aufguest
und ein anderes, dessenname
aufhat-size
gesetzt ist, kann folgender Code verwendet werden:jslet form = document.querySelector("form"); let guestName = form.elements.guest; let hatSize = form.elements["hat-size"];
Wenn dieser Code ausgeführt wurde, wird
guestName
dasHTMLInputElement
für dasguest
-Feld sein, undhatSize
das Objekt für dashat-size
-Feld.Warnung: Vermeiden Sie, Formularelementen einen
name
zu geben, der mit einer eingebauten Eigenschaft des Formulars zusammenfällt, da Sie dadurch die vordefinierte Eigenschaft oder Methode mit diesem Verweis auf das entsprechende Eingabefeld überschreiben.
-
-
-
: Gültig für
text
,search
,url
,tel
,email
undpassword
, wird daspattern
-Attribut verwendet, um ein reguläres Ausdruck zu erstellen, das dervalue
der Eingabe erfüllen muss, damit der Wert die Einschränkungsvalidierung besteht. Es muss ein gültiger regulärer JavaScript-Ausdruck sein, wie er beimRegExp
-Typ verwendet wird, und wie in unserem Leitfaden zu regulären Ausdrücken dokumentiert. Es sollten keine Schrägstriche um den Mustertext angegeben werden. Beim Kompilieren des regulären Ausdrucks:- wird das Muster implizit mit
^(?:
und)$
umschlossen, sodass das Übereinstimmen gegen den gesamten Eingabewert erforderlich ist, d.h.^(?:<pattern>)$
. - Das
'v'
-Flag wird angegeben, sodass das Muster als Folge von Unicode-Zeichencodes anstelle von ASCII behandelt wird.
Wenn das
pattern
-Attribut vorhanden ist, aber nicht angegeben oder ungültig ist, wird kein regulärer Ausdruck angewendet und dieses Attribut komplett ignoriert. Wenn daspattern
-Attribut gültig ist und ein nicht leerer Wert nicht mit dem Muster übereinstimmt, verhindert die Einschränkungsvalidierung die Übermittlung des Formulars. Wenn dasmultiple
-Attribut vorhanden ist, wird der kompilierte reguläre Ausdruck mit jedem kommagetrennten Wert verglichen.Hinweis: Wenn Sie das
pattern
-Attribut verwenden, informieren Sie den Benutzer über das erwartete Format, indem Sie erklärenden Text in der Nähe einschließen. Sie können auch eintitle
-Attribut einfügen, um zu erklären, was die Anforderungen sind, um dem Muster zu entsprechen; die meisten Browser werden diesen Titel als Tooltip anzeigen. Die sichtbare Erklärung ist erforderlich für die Barrierefreiheit. Der Tooltip ist eine Verbesserung.Siehe Client-seitige Validierung für weitere Informationen.
- wird das Muster implizit mit
-
-
-
: Gültig für
text
,search
,url
,tel
,email
,password
undnumber
, liefert dasplaceholder
-Attribut einen Hinweis für den Benutzer, welche Art von Informationen im Feld erwartet wird. Es sollte ein Wort oder ein kurzer Satz sein, der einen Hinweis auf den erwarteten Datentyp gibt, anstatt eine Erklärung oder Aufforderung. Der Text darf keine Wagenrückläufe oder Zeilenumbrüche enthalten. Wenn zum Beispiel ein Feld erwartet, den Vornamen des Benutzers zu erfassen, und dessen Label "Vorname" ist, könnte ein geeigneter Platzhalter "z.B. Mustafa" sein.Hinweis: Das
placeholder
-Attribut ist nicht so semantisch hilfreich wie andere Möglichkeiten, Ihr Formular zu erklären, und kann unerwartete technische Probleme mit Ihrem Inhalt verursachen. Siehe Labels für weitere Informationen.
-
-
popovertarget
- : Verwandelt ein
<input type="button">
-Element in eine Popover-Steuerknopf; nimmt die ID des Popover-Elements, das es steuern soll, als Wert. Siehe die Popover-API Landing Page für mehr Details. Die Schaffung einer Beziehung zwischen einem Popover und seinem Auslöseknopf mit dempopovertarget
-Attribut hat zwei zusätzliche nützliche Effekte:- Der Browser erstellt eine implizite
aria-details
- undaria-expanded
-Beziehung zwischen Popover und Auslöser und platziert das Popover in einer logischen Position in der Tastaturfokus-Navigationsreihenfolge, wenn es angezeigt wird. Dies macht das Popover für Tastatur- und unterstützende Technologie (AT)-Nutzer besser zugänglich (siehe auch Popover accessibility features). - Der Browser erstellt eine implizite Verankerungsreferenz zwischen den beiden, was es sehr bequem macht, Popovers relativ zu ihren Steuerungen mit CSS-Ankerpositionierung zu positionieren. Siehe Popover anchor positioning für mehr Details.
- Der Browser erstellt eine implizite
- : Verwandelt ein
-
popovertargetaction
- : Gibt die auszuführende Aktion auf einem Popover-Element an, das von einem Steuerknopf
<input type="button">
gesteuert wird. Mögliche Werte sind:"hide"
-
Der Knopf wird ein angezeigtes Popover verbergen. Wenn Sie versuchen, ein bereits verstecktes Popover zu verbergen, wird keine Aktion unternommen.
"show"
-
Der Button zeigt ein verstecktes Popover an. Wenn Sie versuchen, ein bereits angezeigtes Popover anzuzeigen, wird keine Aktion unternommen.
"toggle"
-
Der Button wechselt ein Popover zwischen anzeigen und versteckt. Wenn das Popover versteckt ist, wird es angezeigt; wenn das Popover angezeigt wird, wird es versteckt. Wenn
popovertargetaction
weggelassen wird, ist"toggle"
die Standardaktion, die vom Steuerknopf ausgeführt wird.
- : Gibt die auszuführende Aktion auf einem Popover-Element an, das von einem Steuerknopf
-
-
: Ein Boolean-Attribut, das, wenn vorhanden, anzeigt, dass der Benutzer den Wert der Eingabe nicht bearbeiten kann. Das
readonly
-Attribut wird von den Eingabetypentext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
undpassword
unterstützt.Siehe das HTML-Attribut:
readonly
für mehr Informationen.
-
-
-
:
required
ist ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer einen Wert für die Eingabe angeben muss, bevor das Eigentümerformular übermittelt werden kann. Dasrequired
-Attribut wird vontext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,password
,checkbox
,radio
undfile
Eingaben unterstützt.Siehe Client-seitige Validierung und die HTML-Attribut:
required
für mehr Informationen.
-
-
- : Gültig für
email
,password
,tel
,url
undtext
, dassize
-Attribut definiert, wie viel der Eingabe angezeigt wird. Im Wesentlichen wird das gleiche Ergebnis erzielt wie bei der Einstellung der CSS-width
-Eigenschaft mit einigen Besonderheiten. Die tatsächliche Einheit des Wertes hängt vom Eingabetyp ab. Fürpassword
undtext
ist es eine Anzahl von Zeichen (oderem
-Einheiten) mit einem Standardwert von20
, und für andere sind es Pixel (oderpx
-Einheiten). CSSwidth
hat Vorrang vor demsize
-Attribut.
- : Gültig für
-
src
- : Nur gültig für den
image
-Inputbutton, istsrc
ein String, der die URL der anzuzeigenden Bilddatei angibt, um die grafische Absenden-Schaltfläche darzustellen. Siehe den image-Eingabetyp.
- : Nur gültig für den
-
- : Gültig für
date
,month
,week
,time
,datetime-local
,number
undrange
, gibt dasstep
-Attribut eine Zahl an, die die Granularität festlegt, an die der Wert gebunden sein muss. Nur Werte, die ein Vielfaches der Schrittgröße vom Schrittbasiswert sind, sind gültig. Der Schrittbasiswert istmin
falls spezifiziert,value
ansonsten, oder0
falls keiner bereitgestellt wird (außer beiweek
, wo die Standard-Schrittbasis −259.200.000 ist, was den Anfang der Woche1970-W01
darstellt).
Wenn nicht explizit einbezogen:
step
-Werte standardmäßig auf 1 fürnumber
undrange
.- Jeder Datum/Zeit-Eingabetyp hat einen Standard-
step
-Wert, der für den Typ geeignet ist; siehe die individuellen Eingabeseiten:date
,datetime-local
,month
,time
undweek
.
Der Wert muss eine positive Zahl—Ganzzahl oder Gleitkommazahl—sein oder der spezielle Wert
any
, was bedeutet, dass keine Schrittweite impliziert wird und jeder Wert erlaubt ist (unter Vorbehalt anderer Einschränkungen, wiemin
undmax
).Zum Beispiel, wenn Sie
<input type="number" min="10" step="2">
haben, dann sind alle ganzzahlige Zahlen,10
oder höher, gültig. Wenn weggelassen,<input type="number">
, ist jede ganze Zahl gültig, aber Gleitkommazahlen (wie4.2
) sind nicht gültig, dastep
standardmäßig1
ist. Um4.2
gültig zu machen, müsstestep
entwederany
, 0.1, 0.2 sein, oder dermin
-Wert müsste eine Zahl sein, die in.2
endet, wie<input type="number" min="-5.2">
.Hinweis: Wenn die von der Nutzerin eingegebenen Daten nicht den Schrittkonfigurationen entsprechen, wird der Wert in der Einschränkungsvalidierung als ungültig betrachtet und wird die
:invalid
-Pseudoklasse treffen.Siehe Client-seitige Validierung für mehr Informationen.
- : Gültig für
-
tabindex
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen, ein ganzzahliges Attribut, das angibt, ob das Element den Eingabefokus erhalten kann (fokussierbar ist), ob es an der sequentiellen Tastaturnavigation teilnehmen sollte. Da alle Eingabetypen außer dem Typ
hidden
fokussierbar sind, sollte dieses Attribut auf Formularelementen nicht verwendet werden, da sonst der Fokusreihenfolge für alle Elemente im Dokument verwaltet werden müsste mit dem Risiko, die Benutzbarkeit und Barrierefreiheit bei falscher Handhabung zu beeinträchtigen.
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen, ein ganzzahliges Attribut, das angibt, ob das Element den Eingabefokus erhalten kann (fokussierbar ist), ob es an der sequentiellen Tastaturnavigation teilnehmen sollte. Da alle Eingabetypen außer dem Typ
-
title
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen, das einen Text enthält, der Beratungsinformationen in Bezug auf das Element bereitstellt, zu dem es gehört. Solche Informationen können typischerweise, aber nicht notwendigerweise, dem Benutzer als Tooltip präsentiert werden. Der Titel sollte NICHT als primäre Erklärung des Zwecks der Kontrolle des Formulars verwendet werden. Verwenden Sie stattdessen das
<label>
-Element mit einemfor
-Attribut, das auf dasid
-Attribut der Formularelementkontrolle eingestellt ist. Siehe Labels unten.
- : Globales Attribut, gültig für alle Elemente, einschließlich aller Eingabetypen, das einen Text enthält, der Beratungsinformationen in Bezug auf das Element bereitstellt, zu dem es gehört. Solche Informationen können typischerweise, aber nicht notwendigerweise, dem Benutzer als Tooltip präsentiert werden. Der Titel sollte NICHT als primäre Erklärung des Zwecks der Kontrolle des Formulars verwendet werden. Verwenden Sie stattdessen das
-
type
-
: Ein String, der den Typ der zu rendernden Steuerung spezifiziert. Beispielsweise wird ein Wert von
checkbox
verwendet, um ein Kontrollkästchen zu erstellen. Wenn weggelassen (oder ein unbekannter Wert angegeben), wird der Eingabetyptext
verwendet und ein Klartext-Eingabefeld erstellt.Erlaubte Werte sind oben in den Input-Typen aufgeführt.
-
-
value
- : Der Wert der Eingabesteuerung. Wenn im HTML angegeben, ist dies der Initialwert und kann von da an jederzeit geändert oder mit JavaScript abgerufen werden, um auf die entsprechende
HTMLInputElement
-Objektvalue
-Eigenschaft zuzugreifen. Dasvalue
-Attribut ist immer optional, sollte jedoch als zwingend fürcheckbox
,radio
undhidden
betrachtet werden.
- : Der Wert der Eingabesteuerung. Wenn im HTML angegeben, ist dies der Initialwert und kann von da an jederzeit geändert oder mit JavaScript abgerufen werden, um auf die entsprechende
-
width
- : Nur gültig für den
image
-Inputbutton, istwidth
die Breite der Bilddatei, die angezeigt werden soll, um die grafische Absenden-Schaltfläche darzustellen. Siehe den image-Eingabetyp.
- : Nur gültig für den
Nicht-standardisierte Attribute
Die folgenden nicht-standardisierten Attribute sind auch bei einigen Browsern verfügbar. Generell sollten sie vermieden werden, es sei denn, es gibt keine Alternative.
Attribut | Beschreibung |
---|---|
incremental |
Ob wiederholte [`search`](/de/docs/Web/API/HTMLInputElement/search_event)-Ereignisse gesendet werden sollen, 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 den Typ der Aktion angibt, die ausgeführt wird, wenn der Benutzer die Enter- oder Return-Taste drückt, während er das Feld bearbeitet; dies wird verwendet, um ein geeignetes Label für diesen Schlüssel auf einer
virtuellen Tastatur zu bestimmen. Da dieses Attribut veraltet ist, verwenden Sie stattdessen |
orient |
Setzt die Ausrichtung des Bereichsschiebers. Nur Firefox. |
results |
Die maximale Anzahl von Elementen, die in der Liste der Vorschläge für vorherige Suchabfragen angezeigt werden sollten. Nur Safari. |
webkitdirectory
|
Ein Boolean, das angibt, ob nur Verzeichnisse (oder Verzeichnisse, wenn multiple auch vorhanden ist) vom Benutzer ausgewählt werden dürfen
|
-
incremental
Nicht standardisiert-
: Das Boolean-Attribut
incremental
ist eine Erweiterung für WebKit und Blink (daher wird es von Safari, Opera, Chrome usw. unterstützt), das, wenn vorhanden, den User-Agent dazu fordert, den Input als Live-Suche zu bearbeiten. Während der Benutzer den Wert des Feldes bearbeitet, sendet der User-Agentsearch
-Ereignisse an dasHTMLInputElement
-Objekt, das das Suchfeld repräsentiert. Dies ermöglicht Ihrem Code, die Suchergebnisse in Echtzeit zu aktualisieren, während der Benutzer die Suche bearbeitet.Wenn
incremental
nicht angegeben ist, wird dassearch
-Ereignis nur dann gesendet, wenn der Benutzer explizit eine Suche initiiert (zum Beispiel durch Drücken der Enter- oder Return-Taste, während er das Feld bearbeitet).Das
search
-Ereignis ist so rate-begrenzt, dass es nicht häufiger als ein implementierungsdefiniertes Intervall gesendet wird.
-
-
orient
Nicht standardisiert- : Ähnlich wie die nicht-standardisierte CSS-Eigenschaft -moz-orient, die die
<progress>
- und<meter>
-Elemente beeinflusst, definiert dasorient
-Attribut die Ausrichtung des Bereichsschiebers. Werte umfassenhorizontal
, was bedeutet, dass der Bereich horizontal dargestellt wird, undvertical
, bei dem der Bereich vertikal gerendert wird. Siehe Erstellen vertikaler Formularelemente für einen modernen Ansatz, vertikale Formularelemente zu erstellen.
- : Ähnlich wie die nicht-standardisierte CSS-Eigenschaft -moz-orient, die die
-
results
Nicht standardisiert- : Das
results
-Attribut—nur von Safari unterstützt—ist ein numerischer Wert, der es Ihnen ermöglicht, die maximale Anzahl von Einträgen zu überschreiben, die im nativen Dropdown-Menü des<input>
-Elements für frühere Suchanfragen angezeigt werden sollen.
Der Wert muss eine nicht negative Dezimalzahl sein. Wird kein gültiger Wert bereitgestellt, wird die maximale Anzahl von Einträgen auf den Standardwert des Browsers gesetzt.
- : Das
-
webkitdirectory
Nicht standardisiert- : Das Boolean-Attribut
webkitdirectory
, wenn vorhanden, weist darauf hin, dass nur Verzeichnisse als Auswahloptionen für den Benutzer in der Dateiauswahloberfläche angezeigt werden sollen. SieheHTMLInputElement.webkitdirectory
für zusätzliche Details und Beispiele.
Obwohl ursprünglich nur für WebKit-basierte Browser implementiert, ist
webkitdirectory
auch in Microsoft Edge sowie in Firefox 50 und später verwendbar. Obwohl es eine relativ breite Unterstützung hat, ist es immer noch nicht standardisiert und sollte nicht verwendet werden, wenn keine Alternative besteht. - : Das Boolean-Attribut
Methoden
Die folgenden Methoden werden von der HTMLInputElement
-Schnittstelle bereitgestellt, die <input>
-Elemente im DOM repräsentiert. Auch verfügbar sind die von den übergeordneten Schnittstellen spezifizierten Methoden, HTMLElement
, Element
, Node
und EventTarget
.
checkValidity()
-
Gibt
true
zurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls wirdfalse
zurückgegeben und es wird eininvalid
-Ereignis auf das Element ausgelöst. reportValidity()
-
Gibt
true
zurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls wirdfalse
zurückgegeben, eininvalid
-Ereignis auf dem Element ausgelöst und (falls 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 ausgewählt werden kann. Bei Elementen ohne auswählbaren Textinhalt (wie ein visueller Farbwähler oder ein Kalendereingabefeld) bewirkt diese Methode nichts. setCustomValidity()
-
Legt eine benutzerdefinierte Nachricht fest, die angezeigt wird, wenn der Wert des Eingabeelements nicht gültig ist.
setRangeText()
-
Setzt den Inhalt des angegebenen Zeichenbereichs im Eingabe-Element auf eine gegebene Zeichenfolge. Ein
selectMode
-Parameter ist verfügbar, um zu steuern, wie der bestehende Inhalt beeinflusst wird. setSelectionRange()
-
Wählt den angegebenen Zeichenbereich innerhalb eines textuellen Eingabeelements aus. Bewirkt nichts für Eingaben, die nicht als Texteingabefelder dargestellt werden.
showPicker()
-
Zeigt den Browser-Auswähler für das Eingabeelement an, der normalerweise bei Auswahl des Elements angezeigt wird, aber durch einen Tastendruck oder eine andere Benutzerinteraktion ausgelöst wird.
stepDown()
-
Vermindert den Wert einer numerischen Eingabe standardmäßig um eins oder durch die angegebene Anzahl von Einheiten.
stepUp()
-
Erhöht den Wert einer numerischen Eingabe um eins oder durch die angegebene Anzahl von Einheiten.
CSS
Inputs, als ersetzte Elemente, haben einige Eigenschaften, die nicht auf Nicht-Formularelemente anwendbar sind. Es gibt CSS-Selektoren, die speziell auf Formularelemente basierend auf ihren UI-Merkmalen, auch bekannt als UI-Pseudoklassen, abzielen können. Das Input-Element kann auch durch Typ mit Attributselektoren angesprochen werden. Einige Eigenschaften sind ebenfalls besonders nützlich.
UI-Pseudoklassen
Pseudoklasse | Beschreibung |
---|---|
:enabled |
Jedes derzeit aktivierbare Element, das ausgewählt, angeklickt oder fokussiert werden kann und auch einen deaktivierten Zustand hat, in dem es nicht aktiviert oder fokussiert werden kann. |
:disabled |
Jedes derzeit deaktivierte Element mit einem aktivierten Zustand, was bedeutet, dass es sonst aktiviert oder fokussiert werden könnte, wäre es nicht deaktiviert. |
:read-only |
Element, das vom Benutzer nicht bearbeitet werden kann |
:read-write |
Element, das vom Benutzer bearbeitet werden kann. |
:placeholder-shown |
Element, das derzeit placeholder -Text anzeigt, einschließlich <input> und <textarea> Elemente mit dem placeholder -Attribut, das bisher keinen Wert hat.
|
:default |
Formularelemente, die in einer Gruppe verwandter Elemente standardmäßig sind. Passt zu checkbox und radio input Typen, die beim Laden oder Rendern der Seite aktiviert waren. |
:checked |
Passt zu checkbox und radio input Typen, die derzeit aktiviert sind (und die <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 Radio-Buttons mit demselben Namenswert im Formular nicht aktiviert sind, und <progress> -Elemente in einem indeterminierten Zustand
|
:valid |
Formularelemente, die einer Beschränkungsvalidierung unterzogen werden können und derzeit gültig sind. |
:invalid |
Formularelemente, die einer Beschränkungsvalidierung unterzogen werden und derzeit 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 |
Ein Nicht-leeres input, dessen aktueller Wert innerhalb der durch die min - und max -Attribute sowie des step festgelegten Bereichsgrenzen liegt.
|
:out-of-range |
Ein Nicht-leeres input, dessen aktueller Wert NICHT innerhalb der durch die min - und max -Attribute festgelegten Bereichsgrenzen 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 bei einem nicht erforderlichen Element wird nicht zu einem Treffer führen.
|
:optional |
<input> , <select> , oder <textarea> -Element, das das required -Attribut NICHT gesetzt hat.
Passt nicht zu Elementen, die nicht erforderlich sein können.
|
:blank |
<input> und <textarea> -Elemente, die derzeit keinen Wert haben.
|
:user-invalid |
Ähnlich wie :invalid , wird aber bei Blur aktiviert. Passt zu ungültigen inputs, jedoch nur nach Benutzereingriff, z. B. durch Fokussierung auf das Steuerelement, Verlassen des Steuerelements oder Versuch, das Formular mit dem ungültigen Steuerelement zu übermitteln.
|
:open |
<input> Elemente, die ein Auswahlwerkzeug für den Benutzer anzeigen, um einen Wert daraus zu wählen (zum Beispiel <input type="color"> ) — jedoch nur, wenn das Element im offenen Zustand ist, das heißt, wenn das Auswahlwerkzeug angezeigt wird.
|
Pseudoklassen-Beispiel
Wir können ein Checkbox-Label basierend darauf stylen, ob die Checkbox angekreuzt ist oder nicht. In diesem Beispiel stylen wir die color
und font-weight
des <label>
, das unmittelbar nach einem angekreuzten input kommt. Wir haben keine Styles angewendet, wenn das input
nicht angekreuzt ist.
input:checked + label {
color: red;
font-weight: bold;
}
Attributselektoren
Es ist möglich, verschiedene Arten von Formularelementen basierend auf ihrem type
mit Attributselektoren anzusprechen. CSS-Attributselektoren passen zu Elementen basierend entweder nur auf der Anwesenheit eines Attributs oder dem Wert eines bestimmten Attributs.
/* 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 ist das Aussehen von Placholder-Text transluzent oder hellgrau. Das ::placeholder
-Pseudoelement ist der placeholder
-Text des inputs. Es kann mit einem begrenzten Satz von CSS-Eigenschaften gestylt werden.
::placeholder {
color: blue;
}
Nur der Teil der CSS-Eigenschaften, der auf das ::first-line
-Pseudoelement anzuwenden ist, kann in einer Regel verwendet werden, die ::placeholder
in seinem Selektor verwendet.
caret-color
Eine Eigenschaft, die sich speziell auf Texteingabe-bezogene Elemente bezieht, ist die CSS-caret-color
-Eigenschaft, mit der Sie die Farbe festlegen können, die zur Darstellung der Texteingabepflegemarke verwendet 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 Ihnen die Kontrolle über das Größenverhalten von Formulareingaben (d.h. ihnen wird standardmäßig eine bevorzugte Größe zugewiesen). Diese Eigenschaft ermöglicht es Ihnen, das Standardverhalten zu überschreiben und Formularelementen die Anpassung an ihre Inhalte zu erlauben.
Diese Eigenschaft wird typischerweise verwendet, um Formularfelder zu erstellen, die sich an ihren Inhalt anpassen und mit zunehmendem Text größer werden. Dies funktioniert mit input-Typen, die direkte Texteingabe akzeptieren (zum Beispiel text
und url
), input Typ file
und <textarea>
-Elemente.
object-position und object-fit
In bestimmten Fällen (typischerweise bei nicht-textuellen Inputs und spezialisierten Oberflächen) ist das <input>
-Element ein ersetztes Element. In diesem Fall können die Position und Größe des Elements innerhalb seines Rahmens mit den CSS-Eigenschaften object-position
und object-fit
angepasst werden.
Styling
Für weitere Informationen zur Hinzufügung 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 erklärende Informationen über ein Formularfeld, das immer angemessen ist (abgesehen von jeglichen Layout-Bedenken, die Sie möglicherweise haben). Es ist nie eine schlechte Idee, ein <label>
zu verwenden, um zu erklären, was in eine <input>
oder ein <textarea>
eingegeben werden soll.
Zugeordnete Labels
Die semantische Paarung von <input>
- und <label>
-Elementen ist nützlich für unterstützende Technologien wie Screenreader. Indem Sie sie durch das for
-Attribut des <label>
verbinden, koppeln Sie das Label an das input auf eine Weise, die es Screenreadern ermöglicht, Eingaben für Benutzer präziser zu beschreiben.
Es genügt nicht, einfachen Text neben dem <input>
-Element zu haben. Vielmehr erfordern Benutzerfreundlichkeit und Barrierefreiheit die Einbeziehung entweder 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 unzugänglich: Es besteht keine Beziehung zwischen der Eingabeaufforderung und dem <input>
-Element.
Zusätzlich zu einem zugänglichen Namen bietet das Label eine größere "Treffer"-Fläche für Maus- und Touchscreen-Nutzer, um darauf zu klicken oder zu berühren. Durch das Zusammenführen eines <label>
mit einem <input>
wird beim Klicken auf beide das <input>
fokussiert. Wenn Sie einfachen Text verwenden, um Ihr input zu "labeln", wird dies nicht geschehen. Die Eingabeaufforderung als Teil des Aktivierungsbereichs des inputs ist hilfreich für Personen mit motorischen Kontrollproblemen.
Als Webentwickler ist es wichtig, dass wir nie davon ausgehen, dass Menschen all das wissen, was wir wissen. Die Vielfalt der Menschen, die das Web nutzen – und damit Ihre Website – garantiert praktisch, dass einige Besucher Ihrer Seite einige Variationen in Denkprozessen und/oder Umständen haben werden, was dazu führt, dass sie Ihre Formulare sehr unterschiedlich interpretieren, wenn keine klaren und richtig präsentierten Labels vorhanden sind.
Platzhalter sind nicht zugänglich
Das placeholder
-Attribut erlaubt es Ihnen, Text anzugeben, der innerhalb des Inhaltsbereichs des <input>
-Elements selbst erscheint, wenn es leer ist. Der Platzhalter sollte nie notwendig sein, um Ihre Formulare zu verstehen. Es ist kein Label und sollte nicht als Ersatz verwendet werden, weil es keins ist. Der Platzhalter dient dazu, einen Hinweis darauf zu geben, wie ein eingegebener Wert aussehen sollte, nicht als Erklärung oder Aufforderung.
Der Platzhalter ist nicht nur für Screenreader nicht zugänglich, sondern verschwindet auch, sobald der Benutzer Text in das Formularelement eingibt oder das Formularelement bereits einen Wert hat. Browser mit automatischen Seitenübersetzungsfunktionen können Attribute beim Übersetzen überspringen, wodurch 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 markieren müssen, verwenden Sie das <label>
-Element.
Clientseitige Validierung
Warnung:
Die clientseitige Validierung ist nützlich, aber sie garantiert nicht, dass der Server gültige Daten erhält. Wenn die Daten in einem bestimmten Format vorliegen müssen, überprüfen Sie sie immer auch auf der Serverseite und senden Sie eine 400
HTTP-Antwort, wenn das Format ungültig ist.
Zusätzlich zur Verwendung von CSS, um inputs basierend auf den :valid
- oder :invalid
-UI-Zuständen basierend auf dem aktuellen Zustand jedes inputs zu stylen, wie im Abschnitt UI-Pseudoklassen oben beschrieben, bietet der Browser eine clientseitige Validierung bei (versuchter) Formularübermittlung. Bei der Formularübermittlung, wenn es ein Formularelement gibt, das die Beschränkungsvalidierung nicht besteht, zeigen unterstützende Browser eine Fehlermeldung bei dem ersten ungültigen Formularelement an; entweder eine Standardmeldung basierend auf dem Fehlertyp oder eine von Ihnen festgelegte Nachricht.
Einige input-Typen und andere Attribute schränken ein, welche Werte für ein gegebenes input 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. Es könnten mehrere Fehler auftreten, einschließlich eines rangeUnderflow
-Fehlers, 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 ganze Zahl (entspricht nicht den Anforderungen des step
-Attributs), oder typeMismatch
, wenn der Wert keine Zahl ist.
Für die input-Typen, deren Wertebereich periodisch ist (das heißt, bei dem höchstmöglichen Wert wickeln sich die Werte an den Anfang zurück, anstatt zu enden), ist es möglich, dass die Werte der max
- und min
-Eigenschaften umgekehrt sind. Dies zeigt an, dass der Bereich der zulässigen Werte bei min
beginnt, sich zu dem niedrigstmöglichen Wert wickelt und dann fortfährt, bis max
erreicht ist. Dies ist besonders nützlich für Daten und Zeiten, wie wenn Sie den Bereich von 20 Uhr bis 8 Uhr zulassen möchten:
<input type="time" min="20:00" max="08:00" name="overnight" />
Bestimmte Attribute und deren 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 Höchstwert, wie durch das max -Attribut definiert
|
maxlength |
[`validityState.tooLong`](/de/docs/Web/API/ValidityState/tooLong) |
Tritt auf, wenn die Anzahl der Zeichen größer ist als die durch die Eigenschaft maxlength erlaubte Anzahl
|
min |
[`validityState.rangeUnderflow`](/de/docs/Web/API/ValidityState/rangeUnderflow) |
Tritt auf, wenn der Wert kleiner als der Mindestwert ist, wie durch das min -Attribut definiert
|
minlength |
[`validityState.tooShort`](/de/docs/Web/API/ValidityState/tooShort) |
Tritt auf, wenn die Anzahl der Zeichen kleiner ist als die durch die Eigenschaft minlength 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 nicht damit übereinstimmt.
|
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 Checkbox nicht aktiviert ist.
|
step |
[`validityState.stepMismatch`](/de/docs/Web/API/ValidityState/stepMismatch) |
Der Wert stimmt nicht mit dem Schrittinkrement überein. Der voreingestellte Inkrementwert ist 1 , daher sind nur Ganzzahlen beim type="number" gültig, wenn step nicht enthalten ist. step="any" löst diesen Fehler nie aus.
|
type |
[`validityState.typeMismatch`](/de/docs/Web/API/ValidityState/typeMismatch) |
Tritt auf, wenn der Wert nicht den richtigen Typ hat, zum Beispiel, wenn eine Email kein @ enthält oder eine URL kein Protokoll.
|
Wenn ein Formularelement nicht das required
-Attribut hat, ist kein Wert oder ein leerer String nicht ungültig. Selbst wenn die obigen Attribute vorhanden sind, mit Ausnahme von required
, wird ein leerer String nicht zu einem Fehler führen.
Wir können Grenzen dafür setzen, welche Werte wir akzeptieren, und unterstützende Browser werden diese Formularwerte nativ validieren und den Benutzer warnen, wenn bei der Übermittlung ein Fehler vorliegt.
Zusätzlich zu den im obigen Tabellen beschriebenen Fehlern enthält die validityState
-Schnittstelle die booleschen, nur lesbaren Eigenschaften badInput
, valid
und customError
. Das Validität-Objekt beinhaltet:
validityState.valueMissing
validityState.typeMismatch
validityState.patternMismatch
validityState.tooLong
validityState.tooShort
validityState.rangeUnderflow
validityState.rangeOverflow
validityState.stepMismatch
validityState.badInput
validityState.valid
validityState.customError
Für jede dieser Booleschen Eigenschaften zeigt ein Wert von true
an, 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, werden unterstützende Browser sowohl den Benutzer warnen als auch die Übermittlung des Formulars verhindern. Ein Wort der Vorsicht: Wenn ein benutzerdefinierter Fehler auf einen truthy
Wert gesetzt wird (alles außer dem leeren String oder null
), wird die Formulareinreichung verhindert. Wenn keine benutzerdefinierte Fehlermeldung vorliegt und keine der anderen Eigenschaften true
zurückgibt, wird valid
true
sein, und es kann eingereicht werden.
function validate(input) {
let validityState_object = input.validity;
if (validityState_object.valueMissing) {
input.setCustomValidity("A value is required");
} else if (validityState_object.rangeUnderflow) {
input.setCustomValidity("Your value is too low");
} else if (validityState_object.rangeOverflow) {
input.setCustomValidity("Your value is too high");
} else {
input.setCustomValidity("");
}
}
Die letzte Zeile, in der die benutzerdefinierte Fehlermeldung auf den leeren String gesetzt wird, ist entscheidend. Wenn der Benutzer einen Fehler macht und die Gültigkeit gesetzt wird, wird sie nicht übermittelt, selbst 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>
-Elementen (und verwandten) verfügbar ist. Nehmen 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 führen dazu, dass eine Standardfehlermeldung angezeigt wird, wenn Sie versuchen, das Formular ohne gültige Eingabe oder einen Wert, der nicht dem pattern
entspricht, zu übermitteln.
Wenn Sie stattdessen benutzerdefinierte Fehlermeldungen anzeigen möchten, könnten Sie das folgende JavaScript 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 wird folgendermaßen dargestellt:
Kurz gesagt:
- Wir überprüfen den gültigen Zustand des Eingabeelements jedes Mal, wenn sein Wert durch Ausführen der
checkValidity()
-Methode über deninput
-Ereignishandler geändert wird. - Wenn der Wert ungültig ist, wird ein
invalid
-Ereignis ausgelöst und dieinvalid
-Ereignishandlerfunktion ausgeführt. Innerhalb dieser Funktion ermitteln wir, ob der Wert ungültig ist, weil er leer ist oder weil er nicht dem Muster entspricht, und setzen eine benutzerdefinierte Validitätsfehlermeldung. - Folglich wird, falls der Eingabewert ungültig ist, wenn der Absenden-Button gedrückt wird, eine der benutzerdefinierten Fehlermeldungen angezeigt.
- Wenn es gültig ist, wird es wie erwartet übermittelt. Damit dies passiert, muss die benutzerdefinierte Gültigkeit abgebrochen werden, indem
setCustomValidity()
mit einem leeren String-Wert aufgerufen wird. Wir tun dies daher jedes Mal, wenn dasinput
-Ereignis ausgelöst wird. Wenn Sie dies nicht tun und zuvor eine benutzerdefinierte Gültigkeit festgelegt wurde, wird das input als ungültig registriert, auch wenn es derzeit einen gültigen Wert enthält.
Hinweis: Validieren Sie Eingabebeschränkungen immer sowohl clientseitig als auch serverseitig. Die Beschränkungsvalidierung beseitigt nicht die Notwendigkeit der Validierung auf der Serverseite. Ungültige Werte können immer noch von älteren Browsern oder von bösartigen Akteuren gesendet werden.
Hinweis:
Firefox unterstützte über viele Versionen hinweg ein proprietäres Fehlerattribut — x-moz-errormessage
— das es ermöglichte, benutzerdefinierte Fehlermeldungen auf ähnliche Weise zu setzen. Dieses wurde in Version 66 entfernt (siehe Firefox-Fehler 1513890).
Lokalisierung
Die erlaubten Eingaben für bestimmte <input>
-Typen hängen von der Lokalisierung ab. In einigen Gebieten ist 1.000,00 eine gültige Zahl, während in anderen Gebieten die gültige Eingabeweise dieser Zahl 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:lang
-Attribut am 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 die Browsersprache.
Barrierefreiheit
>Labels
Beim Einfügen von Eingabeelementen ist es eine Anforderung der Barrierefreiheit, Labels hinzuzufügen. Dies ist erforderlich, damit diejenigen, die unterstützende Technologien verwenden, wissen, wofür die Eingabe gedacht ist. Außerdem gibt das Klicken oder Berühren eines Labels dem zugehörigen Technologieformularfaktor den Fokus zurück. Dies verbessert die Barrierefreiheit und Benutzerfreundlichkeit für sehende Benutzer und erhöht die Fläche, die ein Benutzer klicken oder berühren kann, um das Formularelement zu aktivieren. Dies ist besonders nützlich (und sogar notwendig) für Radio-Buttons und Checkboxes, die sehr klein sind. Für weitere Informationen über Labels im Allgemeinen siehe Labels.
Das folgende ist ein Beispiel dafür, wie das <label>
mit einem <input>
-Element im oben beschriebenen Stil verknüpft wird. Sie müssen dem <input>
-Element ein id
-Attribut geben. Das <label>
benötigt dann ein for
-Attribut, dessen Wert derselbe ist wie die id
des inputs.
<label for="peas">Do you like peas?</label>
<input type="checkbox" name="peas" id="peas" />
Größe
Interaktive Elemente wie Formularinputs sollten einen Bereich bieten, der groß genug ist, damit es einfach ist, sie zu aktivieren. Dies hilft einer Vielzahl von Menschen, einschließlich Menschen mit motorischen Kontrollproblemen und Menschen, die nicht-präzise Formen der Eingabe wie einen Stift oder Finger verwenden. Eine minimale interaktive Größe von 44×44 CSS-Pixeln wird empfohlen.
Technische Zusammenfassung
Kategorien der Inhalte |
Flow-Inhalte, aufgelistet, einreichbar, zurücksetzbar, mit dem Formular assoziiertes Element,
phrasing content. Wenn das type nicht
hidden ist, dann labelbares Element, palpabler Inhalt.
|
---|---|
Erlaubte Inhalte | Keine; es ist ein leeres Element. |
Tag-Auslassung | Muss einen Starttag haben und darf keinen Endtag haben. |
Erlaubte Eltern | Jedes Element, das phrasing content akzeptiert. |
Implizierte ARIA-Rolle |
|
Erlaubte ARIA-Rollen |
|
DOM-Schnittstelle | [`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement) |
Spezifikationen
Specification |
---|
HTML> # the-input-element> |
Browser-Kompatibilität
Loading…