<input>: Das HTML Eingabeelement
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das <input>
HTML Element wird verwendet, um interaktive Bedienelemente für webbasierte Formulare zu erstellen, um Daten vom Benutzer anzunehmen; es gibt eine breite Vielfalt an Eingabedatenarten und Steuerelement-Widgets, abhängig vom Gerät und dem User-Agent. Das <input>
Element ist eines der leistungsfähigsten und komplexesten in ganz HTML aufgrund der schieren Anzahl an Kombinationen von Eingabetypen und Attributen.
Probieren Sie es aus
<input>
Typen
Wie ein <input>
funktioniert, variiert erheblich abhängig vom Wert seines type
Attributs, daher werden die unterschiedlichen Arten auf ihren jeweiligen Referenzseiten behandelt. Wenn dieses Attribut nicht angegeben ist, wird der Standardtyp text
angenommen.
Die verfügbaren Typen sind wie folgt:
Typ | Beschreibung | Grundlegende Beispiele |
---|---|---|
button | Ein Druckknopf ohne Standardverhalten, der 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 Steuerelement zum Festlegen einer Farbe; öffnet einen Farbwähler, wenn aktiv in unterstützenden Browsern. |
|
date | Ein Steuerelement zum Eingeben eines Datums (Jahr, Monat und Tag, ohne Zeit). Öffnet einen Datumsauswähler oder numerische Räder für Jahr, Monat, Tag, wenn aktiv in unterstützenden Browsern. |
|
datetime-local | Ein Steuerelement zum Eingeben von Datum und Uhrzeit, ohne Zeitzone. Öffnet einen Datumsauswähler oder numerische Räder für Datum- und Zeitkomponenten, wenn aktiv in unterstützenden Browsern. |
|
Ein Feld zum Bearbeiten 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 |
Ein Steuerelement, das den Benutzer eine Datei auswählen lässt.
Verwenden Sie das accept -Attribut, um die Arten von Dateien zu definieren, die das Steuerelement auswählen kann.
|
|
hidden | Ein Steuerelement, das nicht angezeigt wird, jedoch dessen Wert 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 ist.
Das alt -Attribut zeigt sich an, wenn das Bild src fehlt.
|
|
month | Ein Steuerelement zum Eingeben eines Monats und Jahres, ohne Zeitzone. |
|
number | Ein Steuerelement zum Eingeben einer Zahl. Zeigt ein Spinnrädchen und fügt Standardvalidierungen hinzu. Zeigt eine numerische Tastatur auf einigen Geräten mit dynamischen Tastaturen an. |
|
password | Ein einzeiliges Textfeld, dessen Wert verdeckt wird. Warnt den Benutzer, wenn die Seite nicht sicher ist. |
|
radio | Ein Optionsfeld, das das Auswählen eines einzelnen Wertes aus mehreren Optionen mit demselben name -Wert erlaubt. |
|
range |
Ein Steuerelement zum Eingeben einer Zahl, deren exakter Wert nicht wichtig ist.
Zeigt sich als Bereichs-Widget, das standardmäßig auf den mittleren Wert eingestellt ist.
Wird zusammen mit min und max verwendet, um den Bereich akzeptabler Werte zu definieren.
|
|
reset | Ein Button, der die Inhalte des Formulars auf die Standardwerte zurücksetzt. Nicht empfohlen. |
|
search | Ein einzeiliges Textfeld zum Eingeben 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 ein Suchsymbol statt der Eingabetaste auf einigen Geräten mit dynamischen Tastaturen an. |
|
submit | Ein Button, der das Formular übermittelt. |
|
tel | Ein Steuerelement zum Eingeben 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 | Ein Steuerelement zum Eingeben eines Zeitwertes ohne Zeitzone. |
|
url | Ein Feld zum Eingeben einer URL. Sieht aus wie eine text -Eingabe, hat jedoch Validierungsparameter und eine relevante Tastatur in unterstützenden Browsern und Geräten mit dynamischen Tastaturen. |
|
week | Ein Steuerelement zum Eingeben eines Datums, das aus einer Wochennummer und einer Wochenzahl ohne Zeitzone besteht. |
|
Veraltete Werte | ||
datetime
Veraltet
|
Ein Steuerelement zum Eingeben von Datum und Uhrzeit (Stunde, Minute, Sekunde und Bruchteile einer Sekunde) basierend auf der UTC-Zeitzone. |
|
Attribute
Das <input>
Element ist so leistungsfähig aufgrund seiner Attribute; das type
Attribut, das oben mit Beispielen beschrieben ist, ist das Wichtigste. Da jedes <input>
Element, unabhängig vom Typ, auf der HTMLInputElement
Schnittstelle basiert, teilen sie technisch gesehen denselben Satz von Attributen. In Wirklichkeit haben jedoch die meisten Attribute nur auf einen spezifischen Teil von Eingabetypen eine Auswirkung. Außerdem hängt die Art und Weise, wie einige Attribute eine Eingabe beeinflussen, vom Eingabetyp ab und wirkt auf verschiedene Eingabetypen unterschiedlich.
Dieser Abschnitt enthält eine Tabelle mit allen Attributen mit einer kurzen Beschreibung. Diese Tabelle wird gefolgt von einer Liste, die jedes Attribut detaillierter beschreibt sowie mit welchen Eingabetypen sie verbunden sind. Diejenigen, die bei den meisten oder allen Eingabetypen üblich sind, werden weiter unten detaillierter beschrieben. Attribute, die einzigartig für bestimmte Eingabetypen sind—oder Attribute, die bei allen Eingabetypen allgemein sind, aber spezielles Verhalten aufweisen, wenn sie bei einem bestimmten Eingabetyp verwendet werden—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 erwarteten Dateityp in Datei-Upload-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 Buttons |
Hinweis für Formular-Autofill-Funktion |
capture |
file |
Eingabemethode für Medienaufnahme in Datei-Upload-Steuerelementen |
checked |
checkbox , radio |
Ob der Befehl oder das Steuerelement ausgewählt ist |
dirname |
hidden , text , search , url , tel , email |
Name des Formularfeldes zur Angabe der Richtung der Elementübergabe in der Formulareinreichung |
disabled |
alle | Ob das Formular-Steuerelement deaktiviert ist |
form |
alle | Verknüpft das Steuerelement mit einem Formularelement |
formaction |
image , submit |
URL zur Verwendung für Formulareinreichung |
formenctype |
image , submit |
Formular-Datensatz-Kodierungstyp zur Verwendung für Formulareinreichung |
formmethod |
image , submit |
HTTP-Methode zur Verwendung für Formulareinreichung |
formnovalidate |
image , submit |
Umgeht die Formular-Steuerelement-Validierung für Formulareinreichung |
formtarget |
image , submit |
Browsing-Kontext für Formulareinreichung |
height |
image |
Entspricht dem Höhe-Attribut für <img> ; vertikale Dimension |
list |
alle außer hidden , password , checkbox , radio , und Buttons |
Wert des id Attributs der <datalist> der Autofill-Optionen |
max |
date , month , week , time , datetime-local , number , range |
Maximaler Wert |
maxlength |
text , search , url , tel , email , password |
Maximale Länge (Anzahl an Zeichen) des value |
min |
date , month , week , time , datetime-local , number , range |
Minimaler Wert |
minlength |
text , search , url , tel , email , password |
Minimale Länge (Anzahl an Zeichen) des value |
multiple |
email , file |
Boolean. Ob mehrere Werte erlaubt sind |
name |
alle | Name des Formular-Steuerelements. Wird mit dem Formular als Name/Wert-Paar eingereicht. |
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 Formular-Steuerelement erscheint, wenn kein Wert gesetzt ist |
popovertarget |
button |
Weist ein <input type="button"> als Steuerelement für ein Popover-Element zu |
popovertargetaction |
button |
Gibt die Aktion an, die ein Popover-Steuerelement ausführen soll |
readonly |
alle außer hidden , range , color , checkbox , radio , und Buttons |
Boolean. Der Wert ist nicht editierbar |
required |
alle außer hidden , range , color , und Buttons |
Boolean. Ein Wert ist erforderlich oder muss zum Einreichen des Formulars überprüft werden |
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 gültige Werte |
type |
alle | Typ des Formular-Steuerelements |
value |
alle außer image |
Der Wert des Steuerelements. Wenn im HTML angegeben, entspricht dies dem Anfangswert |
width |
image |
Entspricht dem width Attribut für <img> |
Einige zusätzliche nicht-standardmäßige Attribute sind nach den Beschreibungen der Standardattribute aufgeführt.
Einzelne Attribute
accept
-
Gültig nur für den
file
Eingabetyp, definiert dasaccept
Attribut, welche Dateitypen in einemfile
Upload-Steuerelement wählbar sind. Siehe den file Eingabetyp. alt
-
Gültig nur für den
image
Button, bietet dasalt
Attribut alternativen Text für das Bild und zeigt den Wert des Attributs an, wenn das Bildsrc
fehlt oder anderweitig nicht geladen werden kann. Siehe den image Eingabetyp. autocapitalize
-
Steuert, ob eingegebener Text automatisch großgeschrieben wird und, falls ja, in welcher Weise. Weitere Informationen finden Sie auf der globalen Attributseite
autocapitalize
. autocomplete
-
(Kein Boolean-Attribut!) Das
autocomplete
-Attribut nimmt als Wert eine durch Leerzeichen getrennte Zeichenfolge, die beschreibt, welche, wenn überhaupt, Autovervollständigungs- Funktionalität das Eingabefeld bieten soll. Eine typische Implementierung von Autocomplete erinnert sich an vorherige Werte, die im selben Eingabefeld eingegeben wurden, aber es existieren auch komplexere Formen von Autocomplete. Beispielsweise könnte ein Browser in die Kontaktliste eines Geräts integriert werden, umemail
-Adressen in einem E-Mail-Eingabefeld automatisch auszufüllen. Sieheautocomplete
für erlaubte Werte.Das
autocomplete
-Attribut ist gültig beihidden
,text
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,range
,color
, undpassword
. Dieses Attribut hat keine Auswirkungen auf Eingabetypen, die keine numerischen oder Textdaten zurückgeben. Es ist gültig für alle Eingabetypen außercheckbox
,radio
,file
, oder einem der Buttontypen.Weitere Informationen finden Sie im
autocomplete
Attribut, einschließlich Informationen zur Passwortsicherheit und wieautocomplete
sich beihidden
leicht von anderen Eingabetypen unterscheidet. autofocus
-
Ein Boolean-Attribut, das angibt, dass das Eingabefeld automatisch den Fokus erhalten soll, wenn die Seite das Laden abgeschlossen hat (oder wenn das
<dialog>
mit dem Element 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. Wird es auf mehr als einem Element gesetzt, erhält das erste mit dem Attribut den Fokus.Das
autofocus
-Attribut kann nicht aufhidden
Eingaben verwendet werden, da versteckte Eingaben nicht den Fokus erhalten können.Warnung: Automatisches Fokussieren eines Formular-Steuerelements kann sehbehinderten Menschen, die Bildschirmlesetechnologie verwenden, und Menschen mit kognitiven Beeinträchtigungen verwirren. Wenn
autofocus
zugewiesen wird, "teleportieren" Bildschirmleser ihre Benutzer ohne Vorwarnung zum Formular-Steuerelement.Berücksichtigen Sie sorgfältig die Barrierefreiheit, wenn Sie das
autofocus
-Attribut anwenden. Automatische Fokussierung 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 Bildschirmleser das Label des fokussierten Formular-Steuerelements ansagen wird, wird der Bildschirmleser nichts vor dem Label ansagen, und der sehende Benutzer auf einem kleinen Gerät wird ebenso den Kontext verpassen, der durch den vorhergehenden Inhalt erstellt wird. capture
-
Eingeführt in der HTML Media Capture-Spezifikation und nur für den
file
Eingabetyp gültig, definiert dascapture
Attribut, welches Medium—Mikrofon, Video oder Kamera—verwendet werden sollte, um eine neue Datei für den Upload mit demfile
Upload-Steuerelement in unterstützenden Szenarien zu erfassen. Siehe den file Eingabetyp. checked
-
Gültig für sowohl
radio
als auchcheckbox
-Typen, istchecked
ein Boolean-Attribut. Wenn vorhanden in einemradio
-Typ, gibt es an, dass das Optionsfeld das aktuell ausgewählte in der Gruppe gleichnamiger Optionsfelder ist. Wenn vorhanden in einemcheckbox
-Typ, gibt es an, dass das Kontrollkästchen standardmäßig aktiviert ist (wenn die Seite geladen wird). Es zeigt nicht an, ob dieses Kontrollkästchen derzeit aktiviert ist: wenn der Zustand des Kontrollkästchens geändert wird, wird dieses Inhaltsattribut nicht aktualisiert. (Nur das IDL-Attributchecked
vonHTMLInputElement
wird aktualisiert.)Hinweis: Im Gegensatz zu anderen Eingabekontrollen wird der Wert von Kontrollkästchen und Optionsfeldern nur in die übermittelten Daten aufgenommen, wenn sie derzeit
checked
sind. Wenn sie es sind, wird der Name und der Wert der ausgewählten Steuerelemente übermittelt.Zum Beispiel, wenn ein Kontrollkästchen dessen
name
fruit
ist und einenvalue
voncherry
hat, und das Kontrollkästchen aktiviert ist, werden die übermittelten Formulardatenfruit=cherry
enthalten. Wenn das Kontrollkästchen nicht aktiv ist, erscheint es überhaupt nicht in den Formulardaten. Der Standardvalue
für Kontrollkästchen und Optionsfelder iston
. dirname
-
Gültig für
hidden
,text
,search
,url
,tel
, undemail
Eingabetypen, aktiviert dasdirname
Attribut die Übermittlung der Ausrichtung des Elements. Bei Inkludierung übermittelt das Steuerelement zwei Name/Wert Paare: das erste ist dername
undvalue
, und das zweite ist der Wert desdirname
Attributs als Name mit einem Wert vonltr
oderrtl
, wie vom Browser eingestellt.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 obenstehende Formular eingereicht wird, verursacht die Eingabe die Übermittlung sowohl von
name
/value
Paarfruit=cherry
als auch demdirname
/ Richtungs-Paarfruit-dir=ltr
. Weitere Informationen finden Sie imdirname
Attribut. disabled
-
Ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer nicht mit der Eingabe interagieren soll. Deaktivierte Eingaben werden typischerweise in einer gedimmten Farbe angezeigt oder zeigen in anderer Form an, dass das Feld nicht zur Verwendung verfügbar ist.
Speziell: deaktivierte Eingaben empfangen nicht das
click
Ereignis, und deaktivierte Eingaben werden nicht mit dem Formular eingereicht.Hinweis: Obwohl nicht durch die Spezifikation erforderlich, wird Firefox standardmäßig den dynamischen deaktivierten Zustand eines
<input>
über Ladezeiten der Seite hinweg bestehen lassen. Verwenden Sie dasautocomplete
Attribut, um dieses Feature zu steuern. form
-
Ein String, der das
<form>
Element angibt, mit dem die Eingabe verbunden ist (d.h. dessen Formulareigentümer). Der Wert dieses Strings, falls vorhanden, muss mit demid
eines<form>
Elements im selben Dokument übereinstimmen. Wenn dieses Attribut nicht spezifiziert ist, ist das<input>
Element mit dem nächstgelegenen enthaltenen Formular verbunden, falls vorhanden.Das
form
Attribut erlaubt es Ihnen, eine Eingabe überall im Dokument zu platzieren, sie aber trotzdem einem Formular an einer anderen Stelle im Dokument anzugehören lassen.Hinweis: Eine Eingabe kann nur mit einem Formular verbunden sein.
formaction
-
Gültig nur für die Typen
image
undsubmit
. Weitere Informationen finden Sie im submit Eingabetyp. formenctype
-
Gültig nur für die Typen
image
undsubmit
. Weitere Informationen finden Sie im submit Eingabetyp. formmethod
-
Gültig nur für die Typen
image
undsubmit
. Weitere Informationen finden Sie im submit Eingabetyp. formnovalidate
-
Gültig nur für die Typen
image
undsubmit
. Weitere Informationen finden Sie im submit Eingabetyp. formtarget
-
Gültig nur für die Typen
image
undsubmit
. Weitere Informationen finden Sie im submit Eingabetyp. height
-
Gültig nur für den
image
Eingabetyp, istheight
der Wert der Höhe der Bilddatei zur Darstellung des grafischen Submit-Button. Siehe den image Eingabetyp. id
-
Ein globales Attribut, das für alle Elemente gültig ist, insbesondere alle Eingabetypen. Es definiert einen einzigartigen Bezeichner (ID), der im gesamten Dokument einzigartig sein muss. Sein Zweck ist es, das Element beim Verlinken zu identifizieren. Der Wert wird als Wert des
for
Attributs des<label>
verwendet, um das Label mit dem Formular-Steuerelement zu verknüpfen. Siehe<label>
. inputmode
-
Ein globaler Wert, gültig für alle Elemente, gibt einen Hinweis an Browser zur Art der virtuellen Tastaturkonfiguration, die verwendet werden sollte, wenn dieses Element oder dessen Inhalte bearbeitet werden. Werte sind
none
,text
,tel
,url
,email
,numeric
,decimal
, undsearch
. list
-
Der angegebene Wert des
list
Attributs sollte dieid
eines<datalist>
Elements im selben Dokument sein. Die<datalist>
stellt eine Liste vordefinierter Werte bereit, die der Benutzer für diese Eingabe vorgeschlagen bekommt. Alle Werte in der Liste, die nicht mit demtype
kompatibel sind, werden nicht in den Vorschlagsoptionen 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 bei
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 Buttontypen unterstützt.Je nach Browser kann der Benutzer eine benutzerdefinierte Farbpalette vorgeschlagen sehen, Markierungen entlang eines Bereichs oder sogar eine Eingabe, die sich wie ein
<select>
öffnet, aber nicht gelistete Werte erlaubt sehen. Schauen Sie sich die Browser-Kompatibilitätstabelle für die anderen Eingabetypen an.Siehe das
<datalist>
Element. max
-
Gültig für
date
,month
,week
,time
,datetime-local
,number
, undrange
, definiert es den größten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebenevalue
größer ist als dieser Wert, schlägt die Einschränkungsvalidierung des Elements fehl. Wenn der Wert desmax
Attributs keine Zahl ist, hat das Element keinen maximalen Wert.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (z.B. bei Daten oder Zeiten), darf der Wert von
max
kleiner sein als der Wert vonmin
, was anzeigt, dass der Bereich sich umwickeln kann; beispielsweise erlaubt dies, einen Zeitrahmen von 22 Uhr bis 4 Uhr festzulegen. maxlength
-
Gültig für
text
,search
,url
,tel
,email
, undpassword
, 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. Wennmaxlength
nicht angegeben 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 vonminlength
sein.Die Eingabe schlägt Einschränkungsvalidierung fehl, wenn die Länge des in das Feld eingegebenen Textes größer ist als
maxlength
UTF-16 Code Einheiten. Standardmäßig verhindern Browser, dass Benutzer mehr Zeichen eingeben, als durch dasmaxlength
Attribut erlaubt ist. Die Einschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Weitere Informationen finden Sie unter Clientseitige Validierung. min
-
Gültig für
date
,month
,week
,time
,datetime-local
,number
, undrange
, definiert es den negativsten Wert im Bereich der zulässigen Werte. Wenn der in das Element eingegebenevalue
kleiner ist als dieser Wert, schlägt die Einschränkungsvalidierung des Elements fehl. Wenn der Wert desmin
Attributs keine Zahl ist, hat das Element keinen minimalen Wert.Dieser Wert muss kleiner oder gleich dem Wert des
max
Attributs sein. Wenn dasmin
Attribut vorhanden ist, aber nicht angegeben oder ungültig ist, wird keinmin
Wert angewendet. Wenn dasmin
Attribut gültig ist und ein nicht-leerer Wert unter dem Minimum liegt, das durch dasmin
Attribut erlaubt ist, verhindert die Einschränkungsvalidierung die Formulareinreichung. Weitere Informationen finden Sie unter Clientseitige Validierung.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), darf der Wert von
max
kleiner sein als der Wert vonmin
, was anzeigt, dass der Bereich sich umwickeln kann; beispielsweise erlaubt dies, einen Zeitrahmen von 22 Uhr bis 4 Uhr festzulegen. minlength
-
Gültig für
text
,search
,url
,tel
,email
, undpassword
, definiert es die minimale Zeichenfolgenlänge (gemessen in UTF-16 Code Einheiten), die der Benutzer in das Eingabefeld eingeben kann. Dies muss ein nicht-negativer ganzzahliger Wert kleiner oder gleich dem Wert sein, der durchmaxlength
spezifiziert ist. Wennminlength
nicht angegeben ist oder ein ungültiger Wert angegeben wird, hat die Eingabe keine minimale Länge.Die Eingabe schlägt Einschränkungsvalidierung fehl, wenn die Länge des in das Feld eingegebenen Textes weniger als
minlength
UTF-16 Code Einheiten beträgt und die Formulareinreichung verhindern. Die Einschränkungsvalidierung wird nur angewendet, wenn der Wert von Benutzer geändert wird. Weitere Informationen finden Sie unter Clientseitige Validierung. multiple
-
Das Boolean-Attribut
multiple
, wenn gesetzt, bedeutet, dass der Benutzer durch Kommas getrennte E-Mail-Adressen im Email-Widget eingeben oder mehr als eine Datei mit derfile
Eingabe wählen kann. Siehe den email und file Eingabetyp. name
-
Ein String, der einen Namen für das Eingabesteuerelement angibt. Dieser Name wird zusammen mit dem Wert des Steuerelements übermittelt, wenn die Formulardaten übermittelt werden.
Betrachten Sie den
name
als ein erforderliches Attribut (auch wenn es nicht erforderlich ist). Wenn eine Eingabe keinenname
Angabe hat, odername
leer ist, wird der Wert der Eingabe nicht mit dem Formular übermittelt! (Deaktivierte Steuerelemente, nicht ausgewählte Optionsfelder, nicht aktivierte Kontrollkästchen und Rücksetzknöpfe werden ebenfalls nicht gesendet.)Es gibt zwei besondere Fälle:
_charset_
: Wenn dies als Name eines<input>
Elements des Typs hidden verwendet wird, wird dervalue
der Eingabe automatisch vom User-Agent auf die verwendete Zeichencodierung gesetzt, die für die Übermittlung des Formulars verwendet wird.isindex
: Aus historischen Gründen ist der Nameisindex
nicht erlaubt.
Das
name
Attribut erzeugt ein einzigartiges Verhalten für Optionsfelder.Nur ein einziges Optionsfeld in einer gleichnamigen Gruppe von Optionsfeldern kann gleichzeitig aktiviert sein. Durch das Auswählen eines Optionsfeldes in dieser Gruppe werden automatisch alle derzeit ausgewählten Optionsfelder in derselben Gruppe abgewählt. Der Wert dieses einen ausgewählten Optionsfeldes wird zusammen mit dem Namen übermittelt, wenn das Formular abgeschickt wird.
Beim Tabben in eine Serie gleichnamiger Gruppe von Optionsfeldern wird, wenn eines aktiviert ist, dieses den Fokus erhalten. Wenn sie nicht zusammen in Quellreihenfolge gruppiert sind, beginnt das Tabben in die Gruppe, sobald das erste in der Gruppe angetroffen wird, und überspringt alle, die nicht aktiviert sind. Mit anderen Worten, wenn eines aktiviert ist, überspringt das Tabben die nicht aktivierten Optionsfelder in der Gruppe. Wenn keines aktiviert ist, erhält die Optionsfeldgruppe den Fokus, wenn das erste in der gleichnamigen Gruppe erreicht wird.
Wenn eines der Optionsfelder in einer Gruppe den Fokus hat, navigiert man mit den Pfeiltasten durch alle Optionsfelder mit demselben Namen, auch wenn die Optionsfelder in der Quellreihenfolge nicht zusammen gruppiert sind.
Wenn einem Eingabeelement ein
name
gegeben wird, wird dieser Name zu einer Eigenschaft desHTMLFormElement.elements
des besitzenden Formularelements. Wenn Sie eine Eingabe haben, derenname
aufguest
gesetzt ist und eine andere derenname
hat-size
ist, kann der folgende Code verwendet werden:jslet form = document.querySelector("form"); let guestName = form.elements.guest; let hatSize = form.elements["hat-size"];
Wenn dieser Code ausgeführt wird, wird
guestName
dasHTMLInputElement
für dasguest
Feld sein, undhatSize
das Objekt für dashat-size
Feld.Warnung: Vermeiden Sie es, Formularelementen einen
name
zu geben, das einer eingebauten Eigenschaft des Formulars entspricht, da Sie damit die vordefinierte Eigenschaft oder Methode mit diesem Verweis auf die entsprechende Eingabe überschreiben würden. pattern
-
Gültig für
text
,search
,url
,tel
,email
, undpassword
, wird daspattern
Attribut verwendet, um einen regulären Ausdruck zu kompilieren, dem dervalue
der Eingabe entsprechen muss, damit der Wert die Einschränkungsvalidierung besteht. Es muss ein gültiger JavaScript-Regulärer Ausdruck sein, wie er vomRegExp
-Typ verwendet wird und wie in unserem Leitfaden über reguläre Ausdrücke dokumentiert ist. Es sollten keine Schrägstriche um den Mustertext angegeben werden. Wenn der reguläre Ausdruck kompiliert wird:- wird das Muster implizit mit
^(?:
und)$
umschlossen, sodass der Abgleich mit dem gesamten Eingabewert erforderlich ist, d.h.^(?:<pattern>)$
. - wird das
'v'
Flag angegeben, sodass das Muster als Folge von Unicode-Codepunkten behandelt wird, anstatt als ASCII.
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 das Muster nicht erfüllt, verhindert die Einschränkungsvalidierung die Formulareinreichung. Wenn dasmultiple
vorhanden ist, wird der kompilierte reguläre Ausdruck für jeden durch Komma getrennten Wert abgeglichen.Hinweis: Wenn Sie das
pattern
Attribut verwenden, informieren Sie den Benutzer über das erwartete Format, indem Sie erklärenden Text in der Nähe hinzufügen. Sie können auch eintitle
Attribut hinzufügen, um zu erklären, welche Anforderungen erfüllt werden müssen, um dem Muster zu entsprechen; die meisten Browser zeigen diesen Titel als Tooltip an. Die sichtbare Erklärung ist für die Barrierefreiheit erforderlich. Der Tooltip ist ein Enhancement.Weitere Informationen finden Sie unter Clientseitige Validierung.
- wird das Muster implizit mit
placeholder
-
Gültig für
text
,search
,url
,tel
,email
,password
, undnumber
, bietet dasplaceholder
Attribut einen kurzen Hinweis darauf, welche Art von Informationen in das Feld eingegeben werden sollen. Es sollte ein Wort oder eine kurze Phrase sein, die einen Hinweis auf den erwarteten Datentyp gibt, anstatt eine Erklärung oder Eingabeaufforderung. Der Text darf nicht Zeilenumbrüche oder Zeilenvorschübe enthalten. Wenn beispielsweise ein Feld erwartet, den Vornamen eines Benutzers zu erfassen, und das Label "Vorname" ist, könnte ein geeigneter Platzhalter "z.B. Mustafa" sein.Hinweis: Das
placeholder
Attribut ist nicht so semantisch nützlich wie andere Möglichkeiten zur Erklärung Ihres Formulars und kann unerwartete technische Probleme mit Ihrem Inhalt verursachen. Siehe Labels für weitere Informationen. popovertarget
-
Wandelt ein
<input type="button">
Element in einen Popover-Steuerknopf um; nimmt die ID des Popover-Elements, das es steuern soll, als Wert an. Siehe die Popover API Startseite für weitere Informationen. popovertargetaction
-
Gibt die Aktion an, die auf ein durch ein Steuer-
<input type="button">
kontrolliertes Popover-Element ausgeführt werden soll. Mögliche Werte sind:"hide"
-
Der Button wird ein angezeigtes Popover verbergen. Wenn Sie versuchen, ein bereits verborgenes Popover zu verbergen, wird keine Aktion durchgeführt.
"show"
-
Der Button wird ein verborgenes Popover anzeigen. Wenn Sie versuchen, ein bereits angezeigtes Popover anzuzeigen, wird keine Aktion durchgeführt.
"toggle"
-
Der Button wechselt ein Popover zwischen Anzeige und Verbergen. Wenn das Popover verborgen ist, wird es angezeigt; wenn das Popover angezeigt wird, wird es verborgen. Wenn
popovertargetaction
weggelassen wird, ist"toggle"
die Standardaktion, die vom Steuerknopf durchgeführt wird.
readonly
-
Ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer den Wert der Eingabe nicht bearbeiten können soll. Das
readonly
Attribut wird von den Eingabetypentext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
, undpassword
unterstützt.Weitere Informationen finden Sie unter HTML Attribut:
readonly
. required
-
required
ist ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer einen Wert für die Eingabe angeben muss, bevor das besitzende Formular übermittelt werden kann. Dasrequired
Attribut wird von den Eingabetypentext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,password
,checkbox
,radio
, undfile
unterstützt.Weitere Informationen finden Sie unter Clientseitige Validierung und HTML Attribut:
required
. size
-
Gültig für
email
,password
,tel
,url
, undtext
, gibt dassize
Attribut an, wie viel der Eingabe angezeigt wird. Im Wesentlichen erzeugt es dasselbe Ergebnis wie das Setzen der CSSwidth
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. src
-
Gültig nur für den
image
Eingabetyp, istsrc
ein String, der die URL der Bilddatei angibt, um die grafische Submit-Taste darzustellen. Siehe den image Eingabetyp. step
-
Gültig für
date
,month
,week
,time
,datetime-local
,number
, undrange
, spezifiziert dasstep
Attribut eine Zahl, die die Feinheit angibt, die der Wert einhalten muss.Wenn nicht explizit enthalten:
step
Default ist 1 fürnumber
undrange
.- Jeder Datum/Zeit Eingabetyp hat einen Standardwert für
step
, der für den Typ geeignet ist; siehe die individuellen Eingabenseiten:date
,datetime-local
,month
,time
, undweek
.
Der Wert muss eine positive Zahl sein—ganz oder Gleitpunkt—oder der spezielle Wert
any
, was bedeutet, dass kein Schritt angenommen wird, und jeder Wert erlaubt ist (ungeachtet anderer Beschränkungen, wiemin
undmax
).Wenn
any
nicht explizit gesetzt ist, sind gültige Werte für dienumber
, Datum/Zeit Eingabetypen, undrange
Eingabetypen gleich der Basis für Schrittwerte— demmin
Wert und Inkrementen des step Wertes, bis zummax
Wert, falls angegeben.Zum Beispiel, wenn Sie
<input type="number" min="10" step="2">
haben, dann ist jede gerade ganze Zahl,10
oder größer, gültig. Wird es weggelassen,<input type="number">
, ist jede ganze Zahl gültig, aber Gleitkommazahlen (wie4.2
) sind nicht gültig, dastep
standardmäßig1
ist. Damit4.2
gültig ist, müsstestep
aufany
,0.1
,0.2
, oder irgendein Wert gesetzt werden, und dermin
Wert müsste eine Zahl sein, die auf.2
endet, wie<input type="number" min="-5.2">
Hinweis: Wenn Daten, die vom Benutzer eingegeben werden, nicht der Schrittkonfiguration entsprechen, wird der Wert als ungültig in der Einschränkungsvalidierung angesehen und wird die
:invalid
Pseudoklasse treffen.Weitere Informationen finden Sie unter Clientseitige Validierung.
tabindex
-
Ein globales Attribut, gültig für alle Elemente, speziell für alle Eingabetypen, ein ganzzahliges Attribut, das angibt, ob das Element den Eingabe Fokus erhalten kann (fokussierbar ist), wenn es am sequentiellen Tastaturnavigation teilnehmen sollte. Da alle Eingabetypen außer der Eingabe von Typ versteckt fokussierbar sind, sollte dieses Attribut nicht auf Formulareingaben verwendet werden, da die Verwaltung der Fokusreihenfolge für alle Elemente innerhalb des Dokuments erforderlich wäre mit dem Risiko, die Benutzerfreundlichkeit und Barrierefreiheit zu schädigen, wenn es falsch gemacht wird.
title
-
Ein globales Attribut, gültig für alle Elemente, speziell für alle Eingabetypen, das einen Text enthält, der beratende Informationen zum Element, zu dem es gehört, darstellt. Solche Informationen können typischerweise, aber nicht notwendigerweise, dem Benutzer als Tooltip angezeigt werden. Der Titel sollte NICHT als die primäre Erklärung des Zwecks des Formular-Steuerelements verwendet werden. Stattdessen verwenden Sie das
<label>
Element mit einemfor
Attribut, das auf dieid
Attribut des Formular-Steuerelements gesetzt ist. Siehe Labels unten. type
-
Ein String, der den Typ des Steuerelements angibt, das gerendert werden soll. Um beispielsweise ein Kontrollkästchen zu erstellen, wird ein Wert von
checkbox
verwendet. Wenn weggelassen (oder ein unbekannter Wert angegeben), wird der Eingabetyptext
verwendet, wodurch ein normales Text-Eingabefeld erstellt wird.Zulässige Werte sind in Eingabetypen oben aufgeführt.
value
-
Der Wert des Eingabesteuerelements. Wenn im HTML angegeben, ist dies der Anfangswert, und von dann an kann dieser Wert jederzeit geändert oder abgerufen werden unter Verwendung von JavaScript, um auf die
value
-Eigenschaft des entsprechendenHTMLInputElement
Objekts zuzugreifen. Dasvalue
Attribut ist immer optional, sollte jedoch als obligatorisch fürcheckbox
,radio
, undhidden
betrachtet werden. width
-
Gültig nur für den
image
Eingabetyp, istwidth
die Breite der Bilddatei zur Darstellung des grafischen Submit-Button. Siehe den image Eingabetyp.
Nicht-standardmäßige Attribute
Die folgenden nicht-standardmäßigen Attribute sind auch in einigen Browsern verfügbar. Generell sollten Sie vermeiden, sie zu verwenden, es sei denn, es ist unvermeidlich.
Attribut | Beschreibung |
---|---|
incremental |
Ob oder nicht wiederholte [`search`](/de/docs/Web/API/HTMLInputElement/search_event) Ereignisse gesendet werden sollen, um Aktualisierungen von Live-Suchergebnissen zu ermöglichen, während der Benutzer immer 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 er das Feld bearbeitet; 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 |
Legt die Orientierung des Bereichsschiebers fest. Nur Firefox. |
results |
Die maximale Anzahl von Elementen, die in der Dropdown-Liste vorheriger Suchanfragen angezeigt werden soll. Nur Safari. |
webkitdirectory |
Ein Boolean, der angibt, ob dem Benutzer nur erlaubt werden soll, ein Verzeichnis (oder Verzeichnisse, wenn multiple ebenfalls vorhanden ist) auszuwählen. |
incremental
Nicht standardisiert-
Das Boolean-Attribut
incremental
ist eine WebKit- und Blink-Erweiterung (daher unterstützt von Safari, Opera, Chrome, etc.), die, wenn vorhanden, dem User Agent mitteilt, die Eingabe als Live-Suche zu verarbeiten. Während der Benutzer den Wert des Feldes bearbeitet, sendet der User-Agentsearch
Ereignisse an dasHTMLInputElement
Objekt, das das Suchfeld repräsentiert. Dies erlaubt Ihrem Code, die Suchergebnisse in Echtzeit zu aktualisieren, während der Benutzer die Suche bearbeitet.Wenn
incremental
nicht spezifiziert ist, wird dassearch
Ereignis nur gesendet, wenn der Benutzer explizit eine Suche initiiert (z.B. durch Drücken der Enter- oder Return-Taste während des Bearbeitens des Feldes).Das
search
Ereignis ist auf eine Rate begrenzt, sodass es nicht häufiger gesendet wird als ein implementierungsdefiniertes Intervall. orient
Nicht standardisiert-
Ähnlich der nicht-standardmäßigen CSS-Eigenschaft -moz-orient, die die
<progress>
und<meter>
Elemente beeinflusst, definiert dasorient
Attribut die Orientierung des Bereichsschiebers. Mögliche Werte sindhorizontal
, was bedeutet, dass der Bereich horizontal gerendert wird, undvertical
, wo der Bereich vertikal gerendert wird. Siehe Erstellen von vertikalen Formularelementen für einen modernen Ansatz zum Erstellen von vertikalen Formularelementen. results
Nicht standardisiert-
Das
results
Attribut—nur von Safari unterstützt—ist ein numerischer Wert, mit dem Sie die maximale Anzahl von Einträgen überschreiben können, die im nativen Dropdown-Menü des<input>
Elements früherer Suchanfragen angezeigt werden.Der Wert muss eine nicht-negative Dezimalzahl sein. Wenn nicht bereitgestellt oder ein ungültiger Wert angegeben wird, wird die maximale Standardanzahl der Einträge des Browsers verwendet.
webkitdirectory
Nicht standardisiert-
Das Boolean-Attribut
webkitdirectory
, wenn vorhanden, gibt an, dass im Dateiauswahl-Fenster nur Verzeichnisse zur Auswahl durch den Benutzer verfügbar sein 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 ab Firefox 50 und später verwendbar. Auch wenn es relativ breit unterstützt wird, ist es noch immer nicht standardisiert und sollte nicht verwendet werden, es sei denn, Sie haben keine Alternative.
Methoden
Die folgenden Methoden werden durch die HTMLInputElement
Schnittstelle bereitgestellt, die <input>
Elemente im DOM repräsentiert. Auch die von den Elternschnittstellen, HTMLElement
, Element
, Node
, und EventTarget
, spezifizierten Methoden sind verfügbar.
checkValidity()
-
Gibt
true
zurück, wenn der Wert des Elements Gültigkeitsprüfungen besteht; ansonstenfalse
und löst eininvalid
Ereignis am Element aus. reportValidity()
-
Gibt
true
zurück, wenn der Wert des Elements Gültigkeitsprüfungen besteht; andernfallsfalse
, löst eininvalid
Ereignis am Element aus und (falls das Ereignis nicht abgebrochen wird) meldet das Problem dem Benutzer. select()
-
Wählt den gesamten Inhalt des
<input>
Elements aus, wenn der Inhalt auswählbar ist. Für Elemente ohne auswählbaren Textinhalt (wie ein visueller Farbwähler oder Kalender-Datumseingabe) tut diese Methode nichts. setCustomValidity()
-
Setzt eine benutzerdefinierte Nachricht, die angezeigt wird, wenn der Wert des Eingabeelements nicht gültig ist.
setRangeText()
-
Setzt den Inhalt des spezifizierten Zeichenbereichs im Eingabelement auf eine bestimmte Zeichenkette. Ein
selectMode
Parameter ist verfügbar, um zu steuern, wie der bestehende Inhalt beeinflusst wird. setSelectionRange()
-
Wählt den spezifizierten Zeichenbereich innerhalb eines Text-Eingabeelements aus. Für Eingaben die nicht als Texteingabefelder dargestellt werden, tut diese Methode nichts.
showPicker()
-
Zeigt den Browser-Picker für das Eingabelement an, der normalerweise angezeigt wird, wenn das Element ausgewählt wird, jedoch durch einen Button-Druck oder eine andere Benutzerinteraktion ausgelöst wird.
stepDown()
-
Verringert den Wert einer numerischen Eingabe um eins, standardmäßig, 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
Eingabeelemente, die als ersetzte Elemente gelten, besitzen einige Merkmale, die nicht auf Nicht-Formularelemente zutreffen. Es gibt CSS-Selektoren, die speziell Formularsteuerelemente basierend auf ihren UI-Funktionen ansprechen können, auch bekannt als UI-Pseudoklassen. Das Eingabeelement kann auch nach Typ mit Attributselektoren angesprochen werden. Es gibt einige Eigenschaften, die ebenfalls besonders nützlich sind.
UI-Pseudoklassen
Pseudoklasse | Beschreibung |
---|---|
:enabled |
Jedes aktuell aktivierte Element, das aktiviert werden kann (ausgewählt, angeklickt, hineingetippt usw.) oder den Fokus akzeptieren kann und auch einen deaktivierten Zustand hat, in dem es nicht aktiviert werden kann oder den Fokus akzeptiert. |
:disabled |
Jedes aktuell deaktivierte Element, das einen aktivierten Zustand hat, was bedeutet, dass es ansonsten aktiviert werden könnte (ausgewählt, angeklickt, hineingetippt usw.) oder den Fokus akzeptieren würde, 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> -Elementen mit dem placeholder -Attribut, das noch keinen Wert hat. |
:default |
Formularelemente, die in einer Gruppe verwandter Elemente die Voreinstellung sind. Passt zu den checkbox und radio-Eingabetypen, die beim Laden oder Rendern der Seite ausgewählt waren. |
:checked |
Passt zu den checkbox und radio-Eingabetypen, die derzeit ausgewählt sind (und die (<option> in einem <select> -Element, das derzeit ausgewählt ist). |
:indeterminate |
checkbox-Elemente, deren Unbestimmtheits-Eigenschaft durch JavaScript auf true gesetzt wurde, radio-Elemente, wenn alle Radio-Buttons mit demselben Namen im Formular nicht ausgewählt sind, und <progress> -Elemente im unbestimmten Zustand |
:valid |
Formularelemente, bei denen eine Beschränkungsvalidierung angewendet werden kann und die derzeit gültig sind. |
:invalid |
Formularelemente, bei denen eine Beschränkungsvalidierung angewendet wird und die derzeit nicht gültig sind. Passt zu einem Formularelement, dessen Wert nicht den durch seine Attribute festgelegten Beschränkungen entspricht, wie required , pattern , step und max . |
:in-range |
Eine nicht leere Eingabe, deren aktueller Wert sich innerhalb der durch die min - und max -Attribute und das step festgelegten Bereichsgrenzen befindet. |
:out-of-range |
Eine nicht leere Eingabe, deren aktueller Wert sich NICHT innerhalb der durch die min - und max -Attribute festgelegten Bereichsgrenzen befindet oder nicht der step -Beschränkung entspricht. |
:required |
<input> , <select> , oder <textarea> -Element, das das required -Attribut enthält. Passt nur zu Elementen, die erforderlich sein können. Das Attribut auf einem nicht erforderlichen Element führt zu keiner Übereinstimmung. |
:optional |
<input> , <select> , oder <textarea> -Element, das NICHT das required -Attribut enthält. 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 jedoch beim Verlassen der Eingabe aktiviert. Passt zu ungültigen Eingaben, aber nur nach Benutzerinteraktion, wie durch Fokussieren auf das Steuerelement, Verlassen des Steuerelements oder Versuch, das Formular mit dem ungültigen Steuerelement zu senden. |
Pseudoklassen-Beispiel
Wir können ein Checkbox-Label basierend darauf gestalten, ob die Checkbox aktiviert ist oder nicht. In diesem Beispiel formatieren wir die color
und font-weight
des Labels, das direkt nach einer aktivierten Checkbox kommt. Wir haben keine Stile angewendet, wenn die input
nicht aktiviert ist.
input:checked + label {
color: red;
font-weight: bold;
}
Attributselektoren
Es ist möglich, unterschiedliche Typen von Formularsteuerelementen basierend auf ihrem type
mit Hilfe von Attributselektoren zu adressieren. CSS-Attributselektoren wählen Elemente basierend entweder nur auf der Anwesenheit eines Attributs oder dem Wert eines bestimmten Attributs aus.
/* 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 Erscheinungsbild von Platzhaltertext durchsichtig oder hellgrau. Das ::placeholder
Pseudoelement repräsentiert den placeholder
Text des Eingabeelements. Es kann mit einem begrenzten Satz von CSS-Eigenschaften gestylt werden.
::placeholder {
color: blue;
}
Nur der Satz von CSS-Eigenschaften, die auf das ::first-line
Pseudoelement anwendbar sind, kann in einer Regel verwendet werden, die ::placeholder
in ihrem Selektor verwendet.
appearance
Die appearance
-Eigenschaft ermöglicht das Anzeigen von (fast) jedem Element im plattform-eigenen Stil, basierend auf dem Thema des Betriebssystems, sowie die Entfernung jeder plattform-eigenen Stilierung mit dem Wert none
.
Sie könnten ein <div>
so aussehen lassen wie einen Radio-Button mit div {appearance: radio;}
oder einen Radio-Button wie eine Checkbox mit [type="radio"] {appearance: checkbox;}
, aber bitte nicht.
Das Setzen von appearance: none
entfernt plattform-eigene Rahmen, aber nicht die Funktionalität.
caret-color
Eine Eigenschaft, die spezifisch für texteintragsbezogene Elemente ist, ist die CSS-Eigenschaft caret-color
, mit der Sie die Farbe des Textpositionierungs-Cursors festlegen können:
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, wodurch Formularelemente sich in der Größe anpassen können, um ihren Inhalt aufzunehmen.
Diese Eigenschaft wird typischerweise verwendet, um Formularfelder zu erstellen, die sich an ihren Inhalt anpassen und mit mehr Text mitwachsen. Diese funktioniert mit Eingabetypen, die direkte Texteingabe akzeptieren (zum Beispiel text
und url
), Eingabetypen file
und <textarea>
-Elemente.
object-position und object-fit
In bestimmten Fällen (typischerweise bei nicht-textlichen Eingaben und spezialisierten Schnittstellen) ist das <input>
-Element ein ersetztes Element. In solchen Fällen können die Position und die Größe des Elements innerhalb seines Rahmens mit den CSS-Eigenschaften object-position
und object-fit
angepasst werden.
Gestaltung
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 über ein Formularfeld, die immer angemessen sind (abgesehen von den Layout-Angelegenheiten, 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.
Zugehörige Labels
Das semantische Pairing von <input>
- und <label>
-Elementen ist nützlich für assistive Technologien wie Screenreader. Durch das Kombinieren mit dem for
-Attribut von <label>
binden Sie das Label an die Eingabe auf eine Weise, die es Screenreader ermöglicht, Eingaben den Benutzern präziser zu beschreiben.
Es reicht nicht aus, normalen Text neben dem <input>
-Element zu haben. Vielmehr erfordert die Benutzerfreundlichkeit und Barrierefreiheit die Einbeziehung entweder impliziter oder expliziter <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 existiert keine Beziehung zwischen der Aufforderung und dem <input>
-Element.
Zusätzlich zu einem zugänglichen Namen bietet das Label ein größeres 'Treff'-Bereich für Maus- und Touchscreen-Nutzer, um es anzuklicken oder zu berühren. Durch das Kombinieren eines <label>
mit einem <input>
, wird durch Klicken auf eines von beiden das <input>
fokussiert. Wenn Sie normalen Text verwenden, um Ihre Eingabe zu kennzeichnen, geschieht dies nicht. Teil des Aktivierungsbereichs für die Eingabe zu sein, ist hilfreich für Menschen mit motorischen Beeinträchtigungen.
Als Webentwickler ist es wichtig, niemals anzunehmen, dass alle Menschen all das Wissen, das wir haben, besitzen. Die Vielfalt der Menschen, die das Web nutzen – und damit auch Ihre Website – garantiert nahezu, dass einige Besucher Ihrer Seite aufgrund unterschiedlicher Denkvorgänge und/oder Umstände Ihre Formulare sehr unterschiedlich interpretieren werden, es sei denn, Sie haben klare und richtig präsentierte Labels.
Platzhalter sind nicht zugänglich
Das placeholder
-Attribut lässt Sie Text angeben, der innerhalb des Inhaltsbereichs des <input>
-Elements angezeigt wird, 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 es nicht ist. Der Platzhalter dient als Hinweis darauf, wie ein eingegebener Wert aussehen sollte, nicht als Erklärung oder Aufforderung.
Nicht nur ist der Platzhalter für Screenreader nicht zugänglich, sondern auch, sobald der Benutzer einen Text in das Steuerelement eingibt oder wenn das Steuerelement bereits einen Wert hat, verschwindet der Platzhalter. Browser mit automatischen Seitenübersetzungsfunktionen können über Attribute hinweggehen, wenn sie übersetzen, was bedeutet, dass der placeholder
möglicherweise nicht übersetzt wird.
Hinweis: Vermeiden Sie, wenn möglich, das placeholder
-Attribut. Wenn Sie ein <input>
-Element markieren müssen, verwenden Sie das <label>
-Element.
Client-seitige Validierung
Warnung: Die Client-seitige Validierung ist nützlich, garantiert jedoch nicht, dass der Server gültige Daten erhält. Wenn die Daten ein bestimmtes Format haben müssen, überprüfen Sie es immer auch serverseitig und geben Sie eine 400
HTTP-Antwort zurück, wenn das Format ungültig ist.
Zusätzlich zur Verwendung von CSS, um Eingaben basierend auf den :valid
oder :invalid
UI-Zuständen basierend auf dem aktuellen Zustand jeder Eingabe zu formatieren, wie im Abschnitt UI-Pseudoklassen oben erwähnt, bietet der Browser eine clientseitige Validierung beim (versuchten) Formularversuch an. Beim Formularversuch, wenn es ein Formularelement gibt, das die Einschränkungsvalidierung nicht besteht, zeigen unterstützende Browser eine Fehlermeldung beim ersten ungültigen Formularelement an; entweder eine Standardmeldung basierend auf dem Fehlertyp oder eine von Ihnen festgelegte Nachricht.
Einige Eingabetypen und andere Attribute setzen Grenzen für die gültigen Werte, die für eine bestimmte Eingabe akzeptiert werden. Beispielsweise bedeutet <input type="number" min="2" max="10" step="2">
, dass nur die Zahlen 2, 4, 6, 8 oder 10 gültig sind. Mehrere Fehler könnten auftreten, einschließlich eines rangeUnderflow
-Fehlers, wenn der Wert kleiner als 2 ist, rangeOverflow
, wenn er größer als 10 ist, stepMismatch
, wenn der Wert eine Zahl zwischen 2 und 10 ist, aber keine gerade Zahl (entspricht nicht den Anforderungen des step
-Attributs), oder typeMismatch
, wenn der Wert keine Zahl ist.
Für die Eingabetypen, deren Bereich an möglichen Werten periodisch ist (das heißt, beim höchsten möglichen Wert wickeln sich die Werte wieder um den Anfang, anstatt zu enden), ist es möglich, dass die Werte der max
- und min
-Eigenschaften umgekehrt sind, was anzeigt, dass der Bereich der zulässigen Werte bei min
beginnt, um den niedrigsten möglichen Wert wickelt und dann weitergeht, bis max
erreicht wird. Dies ist besonders nützlich für Daten und Zeiten, z. B. wenn Sie den Bereich von 20 Uhr bis 8 Uhr morgens erlauben wollen:
<input type="time" min="20:00" max="08:00" name="overnight" />
Spezifische Attribute und ihre Werte können zu einem bestimmten Fehler ValidityState
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 maximale Wert, wie im max -Attribut definiert. |
maxlength |
[`validityState.tooLong`](/de/docs/Web/API/ValidityState/tooLong) | Tritt auf, wenn die Anzahl der Zeichen größer ist als die im maxlength -Attribut erlaubte Anzahl. |
min |
[`validityState.rangeUnderflow`](/de/docs/Web/API/ValidityState/rangeUnderflow) | Tritt auf, wenn der Wert kleiner ist als der minimale Wert, wie im min -Attribut definiert. |
minlength |
[`validityState.tooShort`](/de/docs/Web/API/ValidityState/tooShort) | Tritt auf, wenn die Anzahl der Zeichen kleiner ist als die im minlength -Attribut erforderliche Anzahl. |
pattern |
[`validityState.patternMismatch`](/de/docs/Web/API/ValidityState/patternMismatch) | Tritt auf, wenn ein Musterattribut mit einem gültigen regulären Ausdruck enthalten ist und der value nicht damit übereinstimmt. |
required |
[`validityState.valueMissing`](/de/docs/Web/API/ValidityState/valueMissing) | Tritt auf, wenn das required -Attribut vorhanden ist, aber der Wert null oder ein Radio oder eine Checkbox nicht ausgewählt ist. |
step |
[`validityState.stepMismatch`](/de/docs/Web/API/ValidityState/stepMismatch) | Der Wert stimmt nicht mit dem Schrittinkrement überein. Das Standardinkrement ist 1 , daher sind nur Ganzzahlen auf type="number" gültig, wenn kein Schritt enthalten ist. step="any" wird diesen Fehler nie auslösen. |
type |
[`validityState.typeMismatch`](/de/docs/Web/API/ValidityState/typeMismatch) | Tritt auf, wenn der Wert nicht vom richtigen Typ ist, zum Beispiel, wenn eine E-Mail kein @ enthält oder eine URL kein Protokoll enthält. |
Wenn ein Formularelement nicht das required
-Attribut hat, ist kein Wert oder ein leerer String nicht ungültig. Selbst wenn die oben genannten Attribute vorhanden sind, mit Ausnahme von required
, wird ein leerer String nicht zu einem Fehler führen.
Wir können festlegen, welche Werte wir akzeptieren, und unterstützende Browser werden diese Formularwerte nativ validieren und den Benutzer bei einem Fehler beim Absenden des Formulars benachrichtigen.
Zusätzlich zu den in der obigen Tabelle beschriebenen Fehlern enthält die validityState
Schnittstelle die booleschen, schreibgeschützten Eigenschaften badInput
, valid
und customError
. Das Gültigkeitsobjekt enthält:
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 gibt ein Wert von true
an, dass der angegebene Grund, dass die Validierung fehlgeschlagen sein könnte, wahr ist, mit Ausnahme der Eigenschaft valid
, die true
ist, wenn der Wert des Elements alle Beschränkungen einhält.
Wenn ein Fehler vorliegt, werden unterstützende Browser den Benutzer sowohl benachrichtigen als auch verhindern, dass das Formular gesendet wird. Ein Wort der Vorsicht: Wenn ein benutzerdefinierter Fehler auf einen wahrheitsgemäßen Wert (etwas anderes als der leere String oder null
) gesetzt ist, wird das Formular daran gehindert, gesendet zu werden. Wenn es keine benutzerdefinierte Fehlermeldung gibt und keine der anderen Eigenschaften true
zurückgeben, wird valid
true
sein, und das Formular kann gesendet 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, die die benutzerdefinierte Gültigkeitsmeldung auf den leeren String setzt, ist entscheidend. Wenn der Benutzer einen Fehler macht und die Gültigkeit gesetzt ist, wird das Formular nicht gesendet, selbst wenn alle Werte gültig sind, bis die Meldung null
ist.
Beispiel für benutzerdefinierte Validierungsfehler
Wenn Sie eine benutzerdefinierte Fehlermeldung anzeigen möchten, wenn ein Feld die Validierung nicht besteht, müssen Sie die Constraint Validation API verwenden, die für <input>
(und verwandte) Elemente verfügbar ist. Nehmen Sie das folgende Formular:
<form>
<label for="name">Enter username (upper and lowercase letters): </label>
<input type="text" name="name" id="name" required pattern="[A-Za-z]+" />
<button>Submit</button>
</form>
Die grundlegenden HTML-Formularvalidierungsfunktionen führen dazu, dass dies eine Standardfehlermeldung produziert, wenn Sie versuchen, das Formular mit unvollständig oder einem Wert, der nicht dem pattern
entspricht, zu senden.
Wenn Sie stattdessen benutzerdefinierte Fehlermeldungen anzeigen möchten, könnten Sie JavaScript wie das folgende 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 so gerendert:
Kurz gesagt:
- Wir überprüfen den gültigen Zustand des Eingabeelements jedes Mal, wenn sich sein Wert durch Ausführen der
checkValidity()
-Methode über deninput
-Ereignishandler ändert. - Wenn der Wert ungültig ist, wird ein
invalid
-Ereignis ausgelöst, und dieinvalid
-Ereignisbehandlungsfunktion wird ausgeführt. Innerhalb dieser Funktion ermitteln wir, ob der Wert ungültig ist, weil er leer ist oder weil er nicht dem Muster entspricht, indem wir einenif ()
Block verwenden und eine benutzerdefinierte Gültigkeitsfehlermeldung setzen. - Infolgedessen wird, wenn der Eingabewert ungültig ist, wenn die Schaltfläche „Senden“ gedrückt wird, eine der benutzerdefinierten Fehlermeldungen angezeigt.
- Wenn es gültig ist, wird es wie erwartet gesendet. Damit dies geschieht, muss die benutzerdefinierte Gültigkeit durch Aufrufen von
setCustomValidity()
mit einem leeren String-Wert abgebrochen werden. Wir tun dies daher jedes Mal, wenn dasinput
-Ereignis ausgelöst wird. Wenn Sie dies nicht tun und eine benutzerdefinierte Gültigkeit vorher festgelegt wurde, wird die Eingabe als ungültig registriert, selbst wenn sie derzeit bei der Übermittlung einen gültigen Wert enthält.
Hinweis: Validieren Sie immer sowohl Client-seitig als auch Server-seitig Eingabebeschränkungen. Beschränkungsvalidierung entfernt nicht die Notwendigkeit zur Validierung auf der Server-Seite. Ungültige Werte können immer noch von älteren Browsern oder von böswilligen Akteuren gesendet werden.
Hinweis: Firefox unterstützte ein proprietäres Fehlerattribut — x-moz-errormessage
— für viele Versionen, das Ihnen erlaubte, benutzerdefinierte Fehlermeldungen auf ähnliche Weise zu setzen. Dies wurde ab Version 66 entfernt (siehe Firefox Bug 1513890).
Lokalisierung
Die erlaubten Eingaben für bestimmte <input>
-Typen sind vom Standort abhängig. In einigen Standorten ist 1.000,00 eine gültige Zahl, während in anderen Standorten die gültige Eingabe 1.000,00 ist.
Firefox verwendet die folgenden Heuristiken, um den Standort zu bestimmen, um die Benutzereingabe zu validieren (zumindest für type="number"
):
- Versuchen Sie die Sprache, die durch ein
lang
/xml:lang
-Attribut auf dem Element oder einem seiner Elternteile spezifiziert ist. - Versuchen Sie die Sprache, die durch einen
Content-Language
HTTP-Header spezifiziert ist. Oder, - Wenn keine spezifiziert ist, verwenden Sie die Sprache des Browsers.
Barrierefreiheit
Labels
Beim Einfügen von Eingaben ist es eine Barrierefreiheitsanforderung, Labels hinzuzufügen. Dies ist notwendig, damit diejenigen, die assistive Technologien verwenden, erkennen können, wofür die Eingabe vorgesehen ist. Außerdem führt das Klicken oder Berühren eines Labels dazu, dass das zugehörige Formularsteuerelement in den Fokus gerät. Dies verbessert die Barrierefreiheit und Benutzerfreundlichkeit für sehende Benutzer, erhöht den Bereich, auf den Benutzer klicken oder tippen können, um das Formularsteuerelement zu aktivieren. Dies ist besonders nützlich (und sogar notwendig) für Optionsfelder und Kontrollkästchen, die winzig sind. Für weitere Informationen über Labels im Allgemeinen siehe Labels.
Das folgende ist ein Beispiel dafür, wie das <label>
-Element stilgerecht einem <input>
-Element zugeordnet werden kann. Sie müssen dem <input>
-Element ein id
-Attribut geben. Das <label>
benötigt dann ein for
-Attribut, dessen Wert mit dem id
des Eingaben übereinstimmt.
<label for="peas">Do you like peas?</label>
<input type="checkbox" name="peas" id="peas" />
Größe
Interaktive Elemente wie Formulareingaben sollten einen ausreichend großen Bereich bieten, um sie leicht aktivieren zu können. Dies hilft einer Vielzahl von Menschen, einschließlich Personen mit motorischen Kontrollproblemen und Menschen, die nicht präzise Eingabemethoden wie einen Stylus oder Finger verwenden. Eine Mindestgröße von 44×44 CSS-Pixeln wird empfohlen.
Technische Zusammenfassung
Inhaltskategorien |
Fließinhalt, aufgelistet, einreichbar, zurücksetzbar, formularelement-verbunden,
Phraseninhalt. Wenn das type nicht
hidden ist, dann beschriftbares Element, fühlbarer Inhalt.
|
---|---|
Erlaubter Inhalt | Keiner; es ist ein leeres Element. |
Tag-Auslassung | Muss ein Start-Tag haben und darf kein End-Tag haben. |
Zulässige Eltern | Jedes Element, das Phraseninhalt akzeptiert. |
Implizite ARIA-Rolle |
|
Zulässige ARIA-Rollen |
|
DOM-Schnittstelle | [`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement) |
Spezifikationen
Specification |
---|
HTML Standard # the-input-element |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Formular Beschränkungsvalidierung
- Ihr erstes HTML-Formular
- Anleitung zur Strukturierung eines HTML-Formulars
- Die nativen Formular-Widgets
- Datenübermittlung von Formularen
- Formulardatenvalidierung
- Anleitung zum Erstellen benutzerdefinierter Formular-Widgets
- HTML-Formulare in Legacy-Browsern
- Gestaltung von HTML-Formularen
- Erweiterte Gestaltung für HTML-Formulare
- CSS-Eigenschaften-Kompatibilitätstabelle
- Erstellen von vertikalen Formularsteuerelementen