<input>: Das HTML-Eingabe-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>-Element im HTML wird verwendet, um interaktive Steuerungen für webbasierte Formulare zu erstellen, damit Daten vom Benutzer akzeptiert werden können; eine Vielzahl von Eingabedatentypen und Steuerungs-Widgets sind verfügbar, abhängig von dem Gerät und dem User-Agent. Das <input>-Element ist eines der mächtigsten und komplexesten in ganz HTML aufgrund der schieren Anzahl von Kombinationen aus Eingabetypen und Attributen.
Probieren Sie es aus
<label for="name">Name (4 to 8 characters):</label>
<input
  type="text"
  id="name"
  name="name"
  required
  minlength="4"
  maxlength="8"
  size="10" />
label {
  display: block;
  font:
    1rem "Fira Sans",
    sans-serif;
}
input,
label {
  margin: 0.4rem 0;
}
<input>-Typen
    Wie ein <input> funktioniert, variiert erheblich, abhängig vom Wert seines type-Attributs, daher werden die unterschiedlichen Typen in eigenen separaten Referenzseiten behandelt. Wenn dieses Attribut nicht angegeben ist, wird standardmäßig der Typ text verwendet.
Die verfügbaren Typen sind wie folgt:
| Typ | Beschreibung | Einfach Beipiele | 
|---|---|---|
| button | 
        Eine Schaltfläche ohne voreingestelltes Verhalten, die den Wert des value-Attributs anzeigt, standardmäßig leer.
       | 
      
         | 
    
| checkbox | Ein Kontrollkästchen, das einzelne Werte auswählbar/nicht auswählbar macht. | 
         | 
    
| color | Eine Steuerung zum Festlegen einer Farbe; öffnet einen Farbwähler in unterstützenden Browsern. | 
         | 
    
| date | Eine Steuerung zur Eingabe eines Datums (Jahr, Monat und Tag, ohne Zeit). Öffnet einen Datumsauswähler oder Zahlenwalzen für Jahr, Monat, Tag in unterstützenden Browsern. | 
         | 
    
| datetime-local | Eine Steuerung zur Eingabe eines Datums und einer Uhrzeit, ohne Zeitzone. Öffnet einen Datumsauswähler oder Zahlenwalzen für Datum- und Uhrzeitkomponenten in unterstützenden Browsern. | 
         | 
    
        Ein Feld zum Bearbeiten einer E-Mail-Adresse. Sieht aus wie eine
        text-Eingabe, hat jedoch Validierungsparameter und relevante
        Tastaturen in unterstützenden Browsern und Geräten mit dynamischen Tastaturen.
       | 
      
         | 
    |
| file | 
        Eine Steuerung, die es dem Benutzer ermöglicht, eine Datei auszuwählen.
        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 gesendet wird. Es ist ein Beispiel in der nächsten Spalte vorhanden, aber es ist verborgen! | |
| image | 
        Ein grafischer submit-Button. Zeigt ein Bild an, das durch das src-Attribut definiert ist.
        Das alt-Attribut wird angezeigt, falls das Bild src fehlt.
       | 
      
         | 
    
| month | Eine Steuerung zur Eingabe eines Monats und Jahres, ohne Zeitzone. | 
         | 
    
| number | Eine Steuerung zur Eingabe einer Zahl. Zeigt einen Spinner an und fügt standardmäßig eine Validierung hinzu. Zeigt ein numerisches Tastenfeld auf einigen Geräten mit dynamischen Tastaturen an. | 
         | 
    
| password | Ein einzeiliges Textfeld, dessen Wert verdeckt ist. Warnt den Benutzer, wenn die Seite nicht sicher ist. | 
         | 
    
| radio | 
        Eine Optionsschaltfläche, die es ermöglicht, einen einzigen Wert aus mehreren Auswahlmöglichkeiten mit dem gleichen name-Wert auszuwählen.
       | 
      
         | 
    
| range | 
        Eine Steuerung zur Eingabe einer Zahl, deren exakter Wert nicht wichtig ist.
        Zeigt als Standardwert ein Bereichs-Widget in der Mitte an.
        Wird in Verbindung mit min und max verwendet, um den Bereich akzeptabler Werte zu definieren.
       | 
      
         | 
    
| reset | Eine Schaltfläche, mit der der Inhalt des Formulars auf Standardwerte zurückgesetzt wird. 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 Feldes 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 | Eine Steuerung zur Eingabe einer Telefonnummer. Zeigt ein Telefon-Tastenfeld 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 Zeitwerts ohne Zeitzone. | 
         | 
    
| url | 
        Ein Feld zur Eingabe einer URL. Sieht aus wie eine text-Eingabe, weist jedoch Validierungsparameter und relevante Tastaturen in unterstützten Browsern und Geräten mit dynamischen Tastaturen auf.
       | 
      
         | 
    
| week | Eine Steuerung zur Eingabe eines Datums bestehend aus einer Jahreszahl und einer Wochenzahl ohne Zeitzone. | 
         | 
    
| Obsolete Werte | ||
datetime 
Veraltet
 | 
      Eine Steuerung zur Eingabe eines Datums und einer Uhrzeit (Stunde, Minute, Sekunde und Bruchteil einer Sekunde) basierend auf der UTC-Zeitzone. | 
         | 
    
Attribute
Das <input>-Element ist so mächtig wegen seiner Attribute; das type-Attribut, mit Beispielen oben beschrieben, ist das wichtigste. Da jedes <input>-Element, unabhängig vom Typ, auf der HTMLInputElement-Schnittstelle basiert, teilen sie technisch die gleiche Menge an Attributen. In Realität haben die meisten Attribute jedoch nur Auswirkungen auf einen bestimmten Teil der Eingabetypen. Darüber hinaus beeinflusst die Art und Weise, wie einige Attribute eine Eingabe beeinflussen, verschiedene Eingabetypen in unterschiedlicher Weise.
Dieser Abschnitt bietet eine Tabelle, die alle Attribute mit einer kurzen Beschreibung auflistet. Diese Tabelle wird gefolgt von einer Liste, die jedes Attribut ausführlicher beschreibt und mit welchen Eingabetypen sie verbunden sind. Attribute, die für die meisten oder alle Eingabetypen üblich sind, werden ausführlicher unten definiert. Attribute, die einzigartig für bestimmte Eingabetypen sind — oder Attribute, die für alle Eingabetypen allgemein sind, aber besonderes Verhalten auf bestimmten Eingabetypen haben — sind 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 Dateiupload-Steuerungen | 
alpha | 
color | 
Deckkraft der Farbe | 
alt | 
image | 
Alt-Attribut für den Bildtyp. Erforderlich für Zugänglichkeit | 
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 | 
Medienerfassungsmethode in Dateiupload-Steuerungen | 
checked | 
checkbox, radio | 
Ob der Befehl oder die Steuerung aktiviert ist | 
colorspace | 
color | 
Der verwendete Farbraum für die Auswahl des Farbwerts | 
dirname | 
hidden, text, search, url, tel, email | 
Name des Formularfeldes zur Übermittlung der Richtung des Elements bei der Formularübermittlung | 
disabled | 
alle | Ob die Formularsteuerung deaktiviert ist | 
form | 
alle | Verbindet die Steuerung mit einem Formularelement | 
formaction | 
image, submit | 
URL zur Formularübermittlung | 
formenctype | 
image, submit | 
Zu verwendender Kodierungstyp der Formulardatensätze für die Formularübermittlung | 
formmethod | 
image, submit | 
HTTP-Methode zur Formularübermittlung | 
formnovalidate | 
image, submit | 
Umgeht die Formularkontrollvalidierung bei der Formularübermittlung | 
formtarget | 
image, submit | 
Browsing-Kontext für die Formularübermittlung | 
height | 
image | 
Entspricht dem Höhenattribut für <img>; vertikale Dimension | 
list | 
alle außer hidden, password, checkbox, radio, und Schaltflächen | 
Wert des ID-Attributs der <datalist> für Verarbeitungsvorschläge | 
max | 
date, month, week, time, datetime-local, number, range | 
Maximalwert | 
maxlength | 
text, search, url, tel, email, password | 
Maximale Länge (Anzahl Zeichen) des value | 
min | 
date, month, week, time, datetime-local, number, range | 
Minimalwert | 
minlength | 
text, search, url, tel, email, password | 
Minimale Länge (Anzahl Zeichen) des value | 
multiple | 
email, file | 
Boolean. Ob mehrere Werte erlaubt sind | 
name | 
alle | Name der Formularsteuerung. Wird mit dem Formular als Teil eines Name/Wert-Paares übermittelt | 
pattern | 
text, search, url, tel, email, password | 
Muster, das der value entsprechen muss, um gültig zu sein | 
placeholder | 
text, search, url, tel, email, password, number | 
Text, der in der Formularsteuerung erscheint, wenn kein Wert festgelegt ist | 
popovertarget | 
button | 
Bezeichnet ein <input type="button"> als Steuerung für ein Popover-Element | 
popovertargetaction | 
button | 
Gibt die Aktion an, die eine Popover-Steuerung ausführen sollte | 
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 | 
Entspricht dem src-Attribut für <img>; Adresse der Bildressource | 
step | 
date, month, week, time, datetime-local, number, range | 
Inkrementelle Werte, die gültig sind | 
type | 
alle | Typ der Formularsteuerung | 
value | 
alle außer image | 
Der Wert der Steuerung. Wenn im HTML angegeben, entspricht dies dem Anfangswert | 
width | 
image | 
Entspricht dem width-Attribut für <img> | 
Einige zusätzliche nicht standardisierte Attribute sind nach den Beschreibungen der standardisierten Attribute aufgeführt.
Einzelne Attribute
accept- 
Nur gültig für den
file-Eingabetyp. Dasaccept-Attribut definiert, welche Dateitypen in einerfile-Upload-Steuerung auswählbar sind. Siehe den file-Eingabetyp. alphaExperimentell- 
Nur gültig für den
color-Eingabetyp. Dasalpha-Attribut ermöglicht es dem Endbenutzer, die Deckkraft der ausgewählten Farbe festzulegen. alt- 
Nur gültig für den
image-Button. Dasalt-Attribut bietet alternativen Text für das Bild und zeigt den Wert des Attributs an, wenn das Bildsrcfehlt oder nicht geladen werden kann. Siehe den image-Eingabetyp. autocapitalize- 
Steuert, ob eingegebener Text automatisch großgeschrieben wird und falls ja, in welcher Weise. Siehe die
autocapitalize-Seite zum globalen Attribut für weitere Informationen. autocomplete- 
(Kein Boolean-Attribut!) Das
autocomplete-Attribut nimmt als Wert eine durch Leerzeichen getrennte Zeichenkette an, die beschreibt, welche Art von Autovervollständigungsfunktion die Eingabe bereitstellen soll, wenn überhaupt. Eine typische Implementierung von Autovervollständigung ruft vorherige Werte ab, die im gleichen Eingabefeld eingegeben wurden, aber es können auch komplexere Formen der Autovervollständigung existieren. Beispielsweise könnte ein Browser mit einer Geräteliste von Kontakten integriert werden, um automatisch E-Mail-Adressen in einem E-Mail-Eingabefeld zu vervollständigen. Sieheautocompletefür erlaubte Werte.Das
autocomplete-Attribut ist gültig fürhidden,text,search,url,tel,email,date,month,week,time,datetime-local,number,range,colorundpassword. Dieses Attribut hat keine Auswirkungen auf Eingabetypen, die keine numerischen oder Textdaten zurückgeben, und ist gültig für alle Eingabetypen außercheckbox,radio,fileoder eine der Schaltflächenarten.Siehe das Attribut
autocompletefür zusätzliche Informationen, einschließlich Informationen über Passwortsicherheit und wieautocompletefürhiddenetwas anders ist als für andere Eingabetypen. autofocus- 
Ein Boolean-Attribut, das, wenn es vorhanden ist, angibt, dass das Eingabefeld automatisch den Fokus haben soll, wenn die Seite geladen ist (oder wenn das
<dialog>-Element, das das Eingabefeld enthält, angezeigt wurde).Hinweis: Ein Element mit dem
autofocus-Attribut kann den Fokus erlangen, bevor dasDOMContentLoaded-Ereignis ausgelöst wird.Nicht mehr als ein Element im Dokument darf das
autofocus-Attribut haben. Wenn auf mehr als einem Element vorhanden, erhält das erste mit dem Attribut den Fokus.Das
autofocus-Attribut kann nicht auf Eingaben des Typshiddenverwendet werden, da versteckte Eingaben keinen Fokus erhalten können.Warnung: Das automatische Fokussieren einer Formularsteuerung kann sehbehinderte Personen, die Bildschirmlesetechnologien verwenden, sowie Menschen mit kognitiven Beeinträchtigungen verwirren. Wenn
autofocuszugewiesen wird, "teleportieren" Bildschirmlesegeräte den Benutzer ohne vorherige Warnung zur Formularsteuerung.Verwenden Sie sorgfältige Überlegungen zur Barrierefreiheit, wenn Sie das
autofocus-Attribut anwenden. Das automatische Fokussieren auf eine Steuerung kann dazu führen, dass die Seite beim Laden scrollt. Der Fokus kann auch dazu führen, dass auf einigen Touch-Geräten dynamische Tastaturen angezeigt werden. Während ein Bildschirmlesegerät das Etikett der Formularsteuerung, die den Fokus erhält, ankündigen wird, wird es nichts vor dem Etikett ankündigen, und der sehende Benutzer auf einem kleinen Gerät wird ebenso den Kontext der vorhergehenden Inhalte verpassen. capture- 
Eingeführt in der HTML-Medienerfassungsspezifikation und nur gültig für den
fileEingabetyp, definiert dascapture-Attribut, welches Medium (Mikrofon, Video oder Kamera) verwendet werden sollte, um eine neue Datei für den Upload mitfile-Upload-Steuerung in unterstützenden Szenarien zu erfassen. Siehe den file-Eingabetyp. checked- 
Gültig für Radio- und Kontrollkästchentypen.
checkedist ein Boolean-Attribut. Wenn es auf einemradio-Typ vorhanden ist, gibt es an, dass die Optionsschaltfläche die derzeit ausgewählte innerhalb der Gruppe von gleichnamigen Optionsschaltflächen ist. Wenn es auf einemcheckbox-Typ vorhanden ist, zeigt es an, dass das Kontrollkästchen standardmäßig (beim Laden der Seite) aktiviert ist. Es gibt nicht an, ob dieses Kontrollkästchen derzeit aktiviert ist: Wenn sich der Zustand des Kontrollkästchens ändert, spiegelt sich dies nicht in diesem Inhaltsattribut wider. (Nur dasHTMLInputElement'scheckedIDL-Attribut wird aktualisiert.)Hinweis: Anders als andere Eingabesteuerungen wird der Wert eines Kontrollkästchens und von Optionsschaltflächen nur dann in die übermittelten Daten aufgenommen, wenn sie derzeit
checkedsind. Wenn das der Fall ist, werden der Name und die Wert(e) der aktivierten Steuerungen übermittelt.Beispielsweise, wenn ein Kontrollkästchen dessen
namefruitist, einenvaluevoncherryhat und das Kontrollkästchen angekreuzt ist, werden die übermittelten Formulardatenfruit=cherryenthalten. Wenn das Kontrollkästchen nicht aktiv ist, wird es überhaupt nicht in den Formulardaten aufgelistet. Der Standardwert für Kontrollkästchen und Optionsschaltflächen iston. colorspaceExperimentell- 
Nur gültig für den
color-Eingabetyp. Dascolorspace-Attribut gibt den Farbraum an, der vom Eingabetyptype="color"verwendet wird. Mögliche aufgezählte Werte sind:"limited-srgb": Die Farbe befindet sich im sRGB-Farbraum. Dazu gehörenrgb(),hsl(),hwb()und<hex-color>Werte. Der Farbwert ist auf 8-Bit pror,gundb-Komponente beschränkt. Dies ist der Standard."display-p3": Der Display P3 Farbraum, z.B.color(display-p3 1.84 -0.19 0.72 / 0.6)
 dirname- 
Nur gültig für
hidden,text,search,url,telundemailEingabetypen. Dasdirname-Attribut ermöglicht die Übermittlung der Richtung des Elements. Wenn es enthalten ist, wird die Formularsteuerung mit zwei Name/Wert-Paaren übermittelt: zuerst dasname/value-Paar und dann der Wert desdirname-Attributs als Name, mit einem Wert vonltroderrtl, wie vom Browser festgelegt.html<form action="page.html" method="post"> <label> Fruit: <input type="text" name="fruit" dirname="fruit-dir" value="cherry" /> </label> <input type="submit" /> </form> <!-- page.html?fruit=cherry&fruit-dir=ltr -->Wenn das obige Formular übermittelt wird, werden sowohl das
name/value-Paarfruit=cherryals auch dasdirname/ Richtungs-Paarfruit-dir=ltrgesendet. Weitere Informationen finden Sie imdirname-Attribut. disabled- 
Ein Boolean-Attribut, das, wenn es vorhanden ist, angibt, dass der Benutzer nicht mit der Eingabe interagieren soll. Deaktivierte Eingaben werden typischerweise mit einer dunkleren Farbe oder durch eine andere Form von Indikation dargestellt, dass das Feld nicht verfügbar ist.
Insbesondere erhalten deaktivierte Eingaben nicht das
click-Ereignis, und deaktivierte Eingaben werden nicht mit dem Formular gesendet.Hinweis: Obwohl nicht von der Spezifikation gefordert, wird Firefox standardmäßig den dynamischen deaktivierten Zustand eines
<input>über Seitenladevorgänge hinweg beibehalten. Verwenden Sie dasautocomplete-Attribut, um diese Funktion zu steuern. form- 
Eine Zeichenfolge, die das
<form>-Element angibt, mit dem die Eingabe verknüpft ist (d.h. sein Formulareigentümer). Der Wert dieser Zeichenfolge, wenn vorhanden, muss mit derideines<form>-Elements im gleichen Dokument übereinstimmen. Wenn dieses Attribut nicht angegeben ist, ist das<input>-Element mit dem nächstgelegenen enthaltenden Formular verknüpft, falls vorhanden.Das
form-Attribut ermöglicht es, ein Eingabefeld irgendwo im Dokument zu platzieren, aber es in einem Formular anderswo im Dokument einzuschließen.Hinweis: Eine Eingabe kann nur mit einem Formular verknüpft werden.
 formaction- 
Nur gültig für die
image- undsubmit-Eingabetypen. Weitere Informationen siehe submit Eingabetyp. formenctype- 
Nur gültig für die
image- undsubmit-Eingabetypen. Weitere Informationen siehe submit Eingabetyp. formmethod- 
Nur gültig für die
image- undsubmit-Eingabetypen. Weitere Informationen siehe submit Eingabetyp. formnovalidate- 
Nur gültig für die
image- undsubmit-Eingabetypen. Weitere Informationen siehe submit Eingabetyp. formtarget- 
Nur gültig für die
image- undsubmit-Eingabetypen. Weitere Informationen siehe submit Eingabetyp. height- 
Nur gültig für den
image-Eingabeknopf. Dieheightist die Höhe der Bilddatei, die angezeigt werden soll, um den grafischen Senden-Button darzustellen. Siehe den image Eingabetyp. id- 
Globales Attribut, das für alle Elemente, einschließlich aller Eingabetypen, gültig ist. Es definiert eine eindeutige Kennung (ID), die im gesamten Dokument eindeutig 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 Etikett mit der Formularsteuerung zu verknüpfen. Siehe<label>. inputmode- 
Globaler Wert, der für alle Elemente gültig ist. Es bietet einen Hinweis an Browser, welche Art von virtueller Tastaturkonfiguration zu verwenden ist, wenn dieses Element oder sein Inhalt bearbeitet wird. Werte umfassen
none,text,tel,url,email,numeric,decimalundsearch. list- 
Der dem
list-Attribut gegebene Wert sollte dieideines<datalist>-Elements sein, das sich im gleichen Dokument befindet. Der<datalist>bietet eine Liste vordefinierter Werte, die dem Benutzer zur Vorschläge für dieses Eingabefeld gemacht werden. Alle Werte in der Liste, die mit demtypenicht kompatibel sind, werden nicht in die vorgeschlagenen Optionen aufgenommen. 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 für
text,search,url,tel,email,date,month,week,time,datetime-local,number,rangeundcolor.Laut den Spezifikationen wird das
list-Attribut vonhidden,password,checkbox,radio,fileoder einer der Schaltflächenarten nicht unterstützt.Abhängig vom Browser kann der Benutzer eine benutzerdefinierte Farbpalette vorgeschlagen bekommen, Markierungen entlang eines Bereichs oder sogar ein Eingabefeld, das sich wie ein
<select>öffnet, aber auch nicht gelistete Werte zulässt. 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,numberundrange. Es definiert den größten Wert im Bereich der zulässigen Werte. Wenn der eingegebenevaluein das Element diesen Wert überschreitet, schlägt das Element bei der Beschränkungsvalidierung fehl. Wenn der Wert desmax-Attributs keine Zahl ist, dann hat das Element keinen Maximalwert.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie bei Daten oder Zeiten), kann der Wert von
maxniedriger sein als der Wert vonmin, was darauf hinweist, dass der Bereich übergreifend ist; zum Beispiel können Sie so einen Zeitbereich von 22:00 bis 4:00 Uhr angeben. maxlength- 
Gültig für
text,search,url,tel,emailundpassword. Es definiert die maximale Zeichenlänge (gemessen in UTF-16 Codeeinheiten), die der Benutzer in das Feld eingeben kann. Dies muss ein ganzzahliger Wert ab 0 oder mehr sein. Wenn keinmaxlengthangegeben ist, oder ein ungültiger Wert angegeben ist, hat das Feld keine Maximallänge. Dieser Wert muss auch größer oder gleich demminlength-Wert sein.Der Eingabewert wird bei der Beschränkungsvalidierung fehlschlagen, wenn die Länge des in das Feld eingegebenen Textes größer ist als
maxlengthUTF-16 Codeeinheiten. Standardmäßig verhindern Browser, dass Benutzer mehr Zeichen eingeben, als durch dasmaxlength-Attribut erlaubt sind. Die Beschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Siehe Validierung auf der Clientseite für weitere Informationen. min- 
Gültig für
date,month,week,time,datetime-local,numberundrange. Es definiert den kleinsten Wert im Bereich der zulässigen Werte. Wenn der eingegebenevaluein das Element kleiner als dieser ist, schlägt das Element bei der Beschrä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 ist, 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 der durch dasmin-Attribut erlaubte Mindestwert, wird die Beschränkungsvalidierung die Formularübermittlung verhindern. Siehe Validierung auf der Clientseite für weitere Informationen.Es gibt einen Sonderfall: Wenn der Datentyp periodisch ist (wie Daten oder Zeiten), kann der Wert des
maxniedriger sein als der Wert desmin, was darauf hinweist, dass der Bereich übergreifend ist; zum Beispiel können Sie eine Zeitspanne von 22:00 bis 4:00 Uhr angeben. minlength- 
Gültig für
text,search,url,tel,emailundpassword. Es definiert die minimale Zeichenlänge (gemessen in UTF-16 Codeeinheiten), die der Benutzer in das Eingabefeld eingeben kann. Dies muss ein nicht-negativer ganzzahliger Wert sein, der kleiner oder gleich dem durchmaxlengthangegebenen Wert ist. Wenn keinminlengthangegeben oder ein ungültiger Wert angegeben ist, hat die Eingabe keine Mindestlänge.Der Eingabewert wird bei der Beschränkungsvalidierung fehlschlagen, wenn die Länge des in das Feld eingegebenen Textes kleiner ist als
minlengthUTF-16 Codeeinheiten, was die Formularübermittlung verhindert. Die Beschränkungsvalidierung wird nur angewendet, wenn der Wert vom Benutzer geändert wird. Siehe Validierung auf der Clientseite für weitere Informationen. multiple- 
Das Boolean-Attribut
multiple, wenn gesetzt, bedeutet, dass der Benutzer im E-Mail-Widget durch Kommas getrennte E-Mail-Adressen eingeben oder mehr als eine Datei mit derfile-Eingabe auswählen kann. Siehe den email- und file-Eingabetyp. name- 
Eine Zeichenfolge, die einen Namen für die Eingabesteuerung angibt. Dieser Name wird zusammen mit dem Wert der Steuerung gesendet, wenn die Formulardaten übermittelt werden.
Betrachten Sie
nameals obligatorisches Attribut (auch wenn es das nicht ist). Wenn eine Eingabe keinen angegebenenNamehat oder derNameleer ist, wird der Wert der Eingabe nicht mit dem Formular gesendet! (Deaktivierte Steuerungen, nicht markierte Optionsschaltflächen, nicht markierte Kontrollkästchen und Zurücksetzen-Schaltflächen werden ebenfalls nicht gesendet.)Es gibt zwei Sonderfälle:
_charset_: Wenn verwendet als Name eines<input>Elements des Typs hidden, wird der Wert der Eingabe vom User-Agent automatisch auf die Zeilenkodierung gesetzt, die zur Übermittlung des Formulars verwendet wird.isindex: Aus historischen Gründen ist der Nameisindexnicht erlaubt.
Das
name-Attribut erstellt ein einzigartiges Verhalten für Optionsschaltflächen.Nur eine Optionsschaltfläche innerhalb einer Gruppe von gleichnamigen Optionsschaltflächen kann gleichzeitig aktiviert sein. Das Auswählen einer Optionsschaltfläche innerhalb dieser Gruppe hebt automatisch die Auswahl der derzeit ausgewählten Optionsschaltfläche in der gleichen Gruppe auf. Der Wert dieser einen aktivierten Optionsschaltfläche wird zusammen mit dem Namen gesendet, wenn das Formular übermittelt wird.
Beim Tabben in eine Serie von gleichnamigen Optionsschaltflächen, wenn eine aktiviert ist, wird diese den Fokus erhalten. Wenn sie nicht in der Quellreihenfolge gruppiert sind, und eine der Gruppe aktiviert ist, beginnt das Tabben in die Gruppe, wenn die erste der Gruppe erreicht wird, überspringt alle, die nicht aktiviert sind. Mit anderen Worten, wenn eine aktiviert ist, überspringt das Tabben die nicht markierten Optionsschaltflächen in der Gruppe. Wenn keine aktiviert ist, erhält die Gruppe von Optionsschaltflächen den Fokus, wenn die erste Schaltfläche in der gleichnamigen Gruppe erreicht wird.
Sobald eine der Optionsschaltflächen innerhalb einer Gruppe den Fokus hat, navigieren die Pfeiltasten zwischen allen Optionsschaltflächen mit dem gleichen Namen, auch wenn die Optionsschaltflächen nicht in der Quellreihenfolge gruppiert sind.
Wenn ein Eingabeelement einen
nameerhält, wird dieser Name Eigentum derHTMLFormElement.elementsEigenschaft des zugehörigen Formularelements. Wenn Sie ein Eingabefeld namensguestund ein weiteres namenshat-sizehaben, können Sie den folgenden Code verwenden:jslet form = document.querySelector("form"); let guestName = form.elements.guest; let hatSize = form.elements["hat-size"];Wenn dieser Code ausgeführt wurde, ist
guestNamedasHTMLInputElementfür dasguestField, undhatSizedas Objekt für dashat-sizeField.Warnung: Vermeiden Sie es, Formularelementen einen
namezu geben, der einer eingebauten Eigenschaft des Formulars entspricht, da Sie damit die vordefinierte Eigenschaft oder Methode mit diesem Verweis auf das entsprechende Eingabefeld überschreiben würden. pattern- 
Gültig für
text,search,url,tel,emailundpassword. Daspattern-Attribut wird verwendet, um einen regulären Ausdruck zu kompilieren, den dervalueder Eingabe erfüllen muss, damit der Wert die Beschränkungsvalidierung besteht. Es muss ein gültiger regulärer JavaScript-Ausdruck sein, wie er von derRegExp-Type verwendet wird, und wie in unserem Leitfaden zu regulären Ausdrücken dokumentiert. Es sollten keine Schrägstriche um den Text des Musters angegeben werden. Bei der Kompilierung des regulären Ausdrucks:- wird das Muster implizit mit 
^(?:und)$eingeschlossen, sodass die Übereinstimmung gegen den gesamten Eingabewert erforderlich ist, d.h.^(?:<pattern>)$. - wird das 
'v'-Flag angegeben, sodass das Muster als Sequenz von Unicode-Zeichen interpretiert wird, anstelle von ASCII. 
Wenn das
pattern-Attribut vorhanden ist, aber nicht angegeben oder ungültig ist, wird kein regulärer Ausdruck angewendet und dieses Attribut vollständig ignoriert. Wenn daspattern-Attribut gültig ist und ein nicht leerer Wert nicht dem Muster entspricht, verhindert die Beschränkungsvalidierung die Formularübermittlung. Wenn dasmultiplevorhanden ist, wird der kompilierte reguläre Ausdruck gegen jeden kommagetrennten Wert getestet.Hinweis: Wenn Sie das
pattern-Attribut verwenden, informieren Sie den Benutzer über das erwartete Format, indem Sie erläuternden Text in der Nähe bereitstellen. Sie können auch eintitle-Attribut hinzufügen, um zu erklären, welche Anforderungen an das Muster bestehen; die meisten Browser zeigen diesen Titel als Tooltip an. Die sichtbare Erklärung ist für die Barrierefreiheit erforderlich. Der Tooltip ist eine Verbesserung.Siehe Validierung auf der Clientseite für weitere Informationen.
 - wird das Muster implizit mit 
 placeholder- 
Gültig für
text,search,url,tel,email,passwordundnumber. Dasplaceholder-Attribut bietet dem Benutzer einen kurzen Hinweis darauf, welche Art von Information im Feld erwartet wird. Es sollte ein Wort oder eine kurze Phrase sein, die einen Hinweis auf die erwartete Art von Daten gibt, anstelle einer Erklärung oder Aufforderung. Der Text darf nicht Wagenrückläufe oder Zeilenvorschübe enthalten. Beispielsweise könnte ein geeignetes Platzhalter sein "z.B. Mustafa" für ein Feld, das den Vornamen eines Benutzers erfassen soll und dessen Etikett "Vorname" ist.Hinweis: Das
placeholder-Attribut ist nicht so semantisch nützlich wie andere Möglichkeiten, Ihr Formular zu erklären, und kann unerwartete technische Probleme mit Ihrem Inhalt verursachen. Weitere Informationen finden Sie unter Labels. popovertarget- 
Wandelt ein
<input type="button">-Element in eine Popover-Steuerungsschaltfläche um; nimmt die ID des zu steuernden Popover-Elements als Wert. Weitere Details finden Sie auf der Popover API-Seite. Die Erstellung einer Beziehung zwischen einem Popover und seinem auslösenden Knopf mit dempopovertarget-Attribut hat zwei weitere nützliche Effekte:- Der Browser erstellt eine implizite 
aria-detailsund einearia-expanded-Beziehung zwischen Popover und Auslöser und platziert das Popover in einer logischen Position in der Tastaturnavigationsreihenfolge, wenn es angezeigt wird. Dies macht das Popover zugänglicher für Benutzer der Tastatur und unterstützender Technologien (AT) (siehe auch Popover-Zugänglichkeitseigenschaften). - Der Browser erstellt eine implizite Ankerreferenz zwischen beiden, was es sehr praktisch macht, Popover mit CSS-Ankerpositionierung relativ zu ihren Steuerungen zu positionieren. Weitere Details finden Sie unter Popover-Ankerpositionierung.
 
 - Der Browser erstellt eine implizite 
 popovertargetaction- 
Gibt die Aktion an, die auf einem mittels einer Steuerung
<input type="button">gesteuerten Popover-Element ausgeführt werden soll. Mögliche Werte sind:"hide"- 
Die Schaltfläche wird ein angezeigtes Popover ausblenden. Wenn Sie versuchen, ein bereits verstecktes Popover auszublenden, wird keine Aktion ausgeführt.
 "show"- 
Die Schaltfläche wird ein verstecktes Popover anzeigen. Wenn Sie versuchen, ein bereits angezeigtes Popover anzuzeigen, wird keine Aktion ausgeführt.
 "toggle"- 
Die Schaltfläche wird ein Popover zwischen sichtbar und versteckt umschalten. Wenn das Popover versteckt ist, wird es angezeigt; wenn das Popover bereits angezeigt wird, wird es ausgeblendet. Wenn
popovertargetactionausgelassen wird, wird"toggle"als Standardaktion ausgeführt, die von der Steuerungsschaltfläche ausgeführt wird. 
 readonly- 
Ein Boolean-Attribut, das, wenn es vorhanden ist, 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,numberundpasswordunterstützt.Weitere Informationen finden Sie im HTML-Attribut:
readonly. required- 
requiredist ein Boolean-Attribut, das, wenn vorhanden, angibt, dass der Benutzer einen Wert für die Eingabe angeben muss, bevor das zugehörige Formular übermittelt werden kann. Dasrequired-Attribut wird von den Eingabetypentext,search,url,tel,email,date,month,week,time,datetime-local,number,password,checkbox,radioundfileunterstützt.Siehe Validierung auf der Clientseite und das HTML-Attribut:
requiredfür weitere Informationen. size- 
Gültig für
email,password,tel,urlundtext. Dassize-Attribut gibt an, wie viel der Eingabe angezeigt wird. Im Wesentlichen erzeugt es das gleiche Ergebnis wie das Festlegen der CSS-Eigenschaftwidth, mit einigen Besonderheiten. Die tatsächliche Einheit des Wertes hängt vom Eingabetyp ab. Fürpasswordundtextist es eine Anzahl von Zeichen (oderem-Einheiten) mit einem Standardwert von20, und für andere sind es Pixel (oderpx-Einheiten). CSSwidthhat Vorrang vor demsize-Attribut. src- 
Nur gültig für den
image-Eingabeknopf. Diesrcist eine Zeichenfolge, die die URL der Bilddatei angibt, die angezeigt werden soll, um den grafischen Senden-Button darzustellen. Siehe den image Eingabetyp. step- 
Gültig für
date,month,week,time,datetime-local,numberundrange. Dasstep-Attribut ist eine Zahl, die die Granularität angibt, die der Wert einhalten muss. Nur Werte, die eine ganze Anzahl von Schritten vom Schrittbasiswert entfernt sind, sind gültig. Der Schrittbasiswert istmin, falls angegeben, ansonstenvalueoder0, wenn keiner angegeben ist (außerweek, das einen Schrittbasiswert von −259,200,000 hat, der den Start der Woche1970-W01darstellt).Wenn nicht explizit eingeschlossen:
stepstandardmäßig auf 1 fürnumberundrange.- Jeder Date-/Zeit-Eingabetyp hat einen Standard-
step-Wert, der für den Typ geeignet ist; siehe die einzelnen Eingabeseiten:date,datetime-local,month,time, undweek. 
Der Wert muss eine positive Zahl sein — Ganzzahl oder Fließkommazahl — oder der spezielle Wert
any, was bedeutet, dass keine stufenweise Erweiterung impliziert wird und jeder Wert erlaubt ist (barring other constraints, likeminandmax).Wenn Sie beispielsweise
<input type="number" min="10" step="2">haben, dann ist jede gerade Ganzzahl,10oder größer, gültig. Wenn weggelassen,<input type="number">, ist jede Ganzzahl gültig, aber Fließkommazahlen (wie4.2) sind nicht gültig, dastepstandardmäßig1ist. Für4.2, um gültig zu sein, müsstestepaufany, 0.1, 0.2 gesetzt sein oder dermin-Wert müsste eine Zahl sein, die auf.2endet, wie<input type="number" min="-5.2">.Hinweis: Wenn die vom Benutzer eingegebenen Daten nicht der Schrittkonfiguration entsprechen, wird der Wert in der Beschränkungsvalidierung als ungültig angesehen und entspricht der
:invalid-Pseudoklasse.Siehe Validierung auf der Clientseite für weitere Informationen.
 tabindex- 
Globales Attribut, das für alle Elemente, einschließlich aller Eingabetypen, gültig ist. Ein ganzzahliges Attribut, das angibt, ob das Element Eingabefokus nehmen kann (fokusbar ist), ob es an der sequentiellen Tastaturnavigation teilnehmen soll. Da alle Eingabetypen außer dem Eingabetyp
hiddenfokussierbar sind, sollte dieses Attribut nicht für Formularsteuerungen verwendet werden, da dies die Verwaltung der Fokusreihenfolge für alle Elemente innerhalb des Dokuments erfordern würde, wodurch die Gefahr besteht, die Benutzerfreundlichkeit und Zugänglichkeit zu schädigen, wenn es falsch gemacht wird. title- 
Globales Attribut, das für alle Elemente, einschließlich alle Eingabetypen, gültig ist. Es enthält einen Text, der Beratungsinformationen zu dem Element darstellt, zu dem es gehört. Solche Informationen können normalerweise, aber nicht unbedingt, dem Benutzer als Tooltip präsentiert werden. Der Titel sollte NICHT als primäre Erklärung des Zwecks der Formularsteuerung verwendet werden. Verwenden Sie stattdessen das
<label>-Element mit einemfor-Attribut, das auf dasid-Attribut der Formularsteuerung gesetzt ist. Siehe Etiketten unten. type- 
Eine Zeichenkette, die den Typ der zu rendernden Steuerung angibt. Beispielsweise wird zur Erstellung eines Kontrollkästchens ein Wert von
checkboxverwendet. Wenn dieses Attribut weggelassen wird (oder ein unbekannter Wert angegeben wird), wird der Eingabetyptextverwendet, d.h. es wird ein schlichtes Texteingabefeld erstellt.Zugelassene Werte sind in den Eingabetypen oben aufgeführt.
 value- 
Der Wert der Eingabesteuerung. Wenn im HTML angegeben, ist dies der Anfangswert und kann von da an jederzeit über JavaScript modifiziert oder abgerufen werden, indem auf die
value-Eigenschaft des entsprechendenHTMLInputElementObjekts zugegriffen wird. Dasvalue-Attribut ist immer optional, sollte jedoch als obligatorisch fürcheckbox,radioundhiddenbetrachtet werden. width- 
Nur gültig für den
image-Eingabeknopf. Diewidthist die Breite der Bilddatei, die angezeigt werden soll, um den grafischen Senden-Button darzustellen. Siehe den image Eingabetyp. 
Nicht-standardisierte Attribute
Die folgenden nicht-standardisierten Attribute sind ebenfalls in einigen Browsern verfügbar. Generell sollten Sie deren Nutzung vermeiden, 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 den Wert des Feldes noch 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 beim Bearbeiten des
        Feldes drückt; 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 Ausrichtung des Bereichsreglers fest. Nur Firefox.. | 
results | 
      Die maximale Anzahl von Elementen, die in der Dropdown-Liste früherer Suchanfragen angezeigt werden sollen. Nur Safari. | 
        webkitdirectory
       | 
      
        Ein Boolean, der angibt, ob dem Benutzer nur die Auswahl eines Verzeichnisses (oder mehrerer Verzeichnisse, wenn multiple ebenfalls vorhanden ist) erlaubt werden soll.
       | 
    
incrementalNicht standardisiert- 
Das Boolean-Attribut
incrementalist eine WebKit- und Blink-Erweiterung (daher wird es von Safari, Opera, Chrome usw. unterstützt), das, wenn vorhanden, dem User-Agent mitgeteilt wird, 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. Dadurch kann Ihr Code die Suchergebnisse in Echtzeit aktualisieren, während der Benutzer die Suche bearbeitet.Wenn
incrementalnicht angegeben ist, wird dassearch-Ereignis nur gesendet, wenn der Benutzer eine Suche explizit initiiert (z. B. durch Drücken der Enter- oder Return-Taste während der Bearbeitung des Feldes).Das
search-Ereignis ist so rate-begrenzt, dass es nicht häufiger als in durch die Implementierungs-Definierte Intervall gesendet wird. orientNicht standardisiert- 
Ähnlich wie die -moz-orient nicht-standardisierte CSS-Eigenschaft, die die
<progress>und<meter>-Elemente betrifft, definiert dasorient-Attribut die Ausrichtung des Bereichsschiebers. Werte beinhaltenhorizontal, was bedeutet, dass der Bereich horizontal gerendert wird, undvertical, wobei der Bereich vertikal gerendert wird. Siehe Erstellung vertikaler Formularsteuerungen für einen modernen Ansatz zur Erstellung vertikaler Formularsteuerungen. resultsNicht 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 an das<input>-Element im nativen Drop-down-Menü vorheriger Suchanfragen angezeigt wird.Der Wert muss eine nicht-negative Dezimalzahl sein. Wenn nicht bereitgestellt oder ein ungültiger Wert eingegeben wird, wird die Standard-Maximalanzahl der Einträge des Browsers verwendet.
 webkitdirectoryNicht standardisiert- 
Das Boolean-Attribut
webkitdirectory, wenn vorhanden, gibt an, dass nur Verzeichnisse vom Benutzer im Dateiauswahlfenster ausgewählt werden dürfen. SieheHTMLInputElement.webkitdirectoryfür zusätzliche Details und Beispiele.Obwohl ursprünglich nur für WebKit-basierte Browser implementiert, ist
webkitdirectoryin Microsoft Edge sowie in Firefox 50 und höher nutzbar. Obwohl es also eine relativ breite Unterstützung hat, ist es immer noch nicht standardisiert und sollte nicht verwendet werden, es sei denn, Sie haben keine Alternative. 
Methoden
Die folgenden Methoden werden durch das HTMLInputElement-Interface bereitgestellt, welches <input>-Elemente im DOM repräsentiert. Ebenso verfügbar sind die Methoden, die in den übergeordneten Interfaces HTMLElement, Element, Node und EventTarget definiert sind.
checkValidity()- 
Gibt
truezurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls gibt esfalsezurück und löst eininvalid-Ereignis am Element aus. reportValidity()- 
Gibt
truezurück, wenn der Wert des Elements die Gültigkeitsprüfungen besteht; andernfalls gibt esfalsezurück, löst eininvalid-Ereignis am Element aus und meldet (falls das Ereignis nicht abgebrochen wird) das Problem dem Benutzer. select()- 
Wählt den gesamten Inhalt des
<input>-Elements aus, wenn der Inhalt des Elements auswählbar ist. Für Elemente ohne auswählbaren Textinhalt (wie z.B. ein visueller Farbwähler oder Kalendereingabe) tut diese Methode nichts. setCustomValidity()- 
Setzt eine benutzerdefinierte Nachricht, die angezeigt wird, wenn der Wert des Eingabeelements ungültig ist.
 setRangeText()- 
Setzt den Inhalt des angegebenen Zeichenbereichs im Eingabeelement auf eine bestimmte Zeichenkette. Ein
selectMode-Parameter steht zur Verfügung, um zu steuern, wie der vorhandene Inhalt betroffen ist. setSelectionRange()- 
Wählt den angegebenen Zeichenbereich innerhalb eines textuellen Eingabeelements aus. Macht für Eingaben, die nicht als Texteingabefelder präsentiert werden, nichts.
 showPicker()- 
Zeigt den Browserauswahldialog für das Eingabeelement an, der normalerweise angezeigt wird, wenn das Element ausgewählt wird, aber durch einen Tastendruck oder andere Benutzerinteraktion ausgelöst wird.
 stepDown()- 
Verringert standardmäßig den Wert einer numerischen Eingabe um eins oder um die angegebene Anzahl von Einheiten.
 stepUp()- 
Erhöht den Wert einer numerischen Eingabe um eins oder um die angegebene Anzahl von Einheiten.
 
CSS
Inputs, als ersetzte Elemente, haben einige Merkmale, die bei nicht-formularbasierten Elementen nicht anwendbar sind. Es gibt CSS-Selektoren, die speziell auf Formularelemente basierend auf ihren UI-Eigenschaften abzielen können, auch bekannt als UI-Pseudoklassen. Das Eingabeelement kann auch nach Typ mit Attributselektoren adressiert werden. Es gibt einige Eigenschaften, die besonders nützlich sind.
UI-Pseudoklassen
| Pseudoklasse | Beschreibung | 
|---|---|
:enabled | 
      Jedes momentan aktivierte Element, das aktiviert werden kann (ausgewählt, angeklickt, hineingeschrieben, etc.) oder den Fokus annehmen kann und auch einen deaktivierten Zustand besitzt, in dem es nicht aktiviert werden oder den Fokus annehmen kann. | 
:disabled | 
      Jedes momentan deaktivierte Element, das einen aktivierten Zustand hat, d.h. es könnte ansonsten aktiviert werden (ausgewählt, angeklickt, hineingeschrieben, etc.) oder den Fokus annehmen, 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 momentan placeholder-Text anzeigt, einschließlich <input> und <textarea>-Elemente mit dem placeholder-Attribut, das bisher noch keinen Wert hat.
       | 
    
:default | 
      Formularelemente, die in einer Gruppe verwandter Elemente die Standardwerte sind. Es wird passend gemacht zu checkbox und radio, die beim Laden oder Darstellung der Seite ausgewählt waren. | 
:checked | 
      
        Passend für checkbox und radio, die momentan ausgewählt sind (und die <option> in einem <select>, das momentan ausgewählt ist).
       | 
    
:indeterminate | 
      
        checkbox-Elemente deren indeterminate Eigenschaft durch JavaScript auf true gesetzt ist, radio-Elemente, wenn alle Radiobuttons mit demselben Namen im Formular nicht ausgewählt sind, und <progress>-Elemente in einem unbestimmten Zustand
       | 
    
:valid | 
      Formularelemente, auf die Gültigkeitsüberprüfung angewendet werden kann und die momentan gültig sind. | 
:invalid | 
      
        Formularelemente, auf die Gültigkeitsüberprüfung angewendet wird und die momentan ungültig sind. Entspricht einem Formularelement, dessen Wert nicht mit den durch seine Attribute gesetzten Einschränkungen übereinstimmt, wie z.B. required, pattern, step und max.
       | 
    
:in-range | 
      
        Eine nicht-leere Eingabe, deren aktueller Wert innerhalb der durch die min und max-Attribute und die step angegebenen Bereichsgrenzen liegt.
       | 
    
:out-of-range | 
      
        Eine nicht-leere Eingabe, deren aktueller Wert NICHT innerhalb der durch die min und max-Attribute angegebenen Bereichsgrenzen liegt oder die das step-Kriterium nicht erfüllt.
       | 
    
:required | 
      
        <input>, <select>, oder <textarea>-Element, das das required-Attribut gesetzt hat.
        Passt nur zu Elementen, die erforderlich sein können.
        Das Attribut, das auf einem nicht erforderlichen Element enthalten ist, führt nicht zu einem Treffer.
       | 
    
: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 momentan keinen Wert haben.
       | 
    
:user-invalid | 
      
        Ähnlich wie :invalid, wird aber beim Verlassen aktiviert. Passt zu ungültigen Eingaben, jedoch nur nach der Benutzerinteraktion, wie das Fokussieren auf das Element, Verlassen des Elements oder der Versuch, das Formular mit dem ungültigen Element zu senden.
       | 
    
:open | 
      
        <input>-Elemente, die einen Auswahldialog für den Benutzer anzeigen, um einen Wert auszuwählen (zum Beispiel <input type="color">), jedoch nur, wenn das Element im offenen Zustand ist, also, wenn der Auswahldialog angezeigt wird.
       | 
    
Pseudoklassen-Beispiel
Wir können das Label einer Checkbox basierend darauf stylen, ob die Checkbox ausgewählt ist oder nicht. In diesem Beispiel stylen wir die color und font-weight des <label>-Elements, das direkt nach einer ausgewählten Eingabe kommt. Wir haben keine Stile angewendet, wenn das input nicht ausgewählt 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 Elemente basierend entweder nur auf das Vorhandensein eines Attributs oder den Wert eines bestimmten Attributs an.
/* 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 Placeholder-Text transluzent oder hellgrau. Der ::placeholder Pseudo-Element ist der placeholder Text der Eingabe. Es kann mit einem begrenzten Satz von CSS-Eigenschaften gestyled werden.
::placeholder {
  color: blue;
}
Nur der Unterbereich von CSS-Eigenschaften, die auf das ::first-line Pseudo-Element angewendet werden können, kann in einer Regel verwendet werden, die ::placeholder in ihrem Selektor verwendet.
caret-color
Eine spezifische Eigenschaft für textbezogene Eingabeelemente ist die CSS-Eigenschaft caret-color, die es Ihnen ermöglicht, die Farbe festzulegen, die zum Zeichnen des Text Eingabecursors 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 Eigenschaft field-sizing ermöglicht es Ihnen, das Größenverhalten von Formulareingaben zu steuern (d.h. sie erhalten standardmäßig eine bevorzugte Größe). Diese Eigenschaft ermöglicht es Ihnen, das Standardverhalten zu überschreiben, sodass Formularelemente sich in der Größe an ihren Inhalt anpassen können.
Diese Eigenschaft wird typischerweise verwendet, um Formularfelder zu erstellen, die ihren Inhalt durch Schrumpfen einhüllen und wachsen, wenn mehr Text eingegeben wird. Dies funktioniert mit Eingabetypen, die direkte Texteingabe akzeptieren (zum Beispiel text und url), Eingabetyp file, und <textarea>-Elemente.
object-position und object-fit
In bestimmten Fällen (typischerweise bei nicht-textuellen Eingaben und spezialisierten Schnittstellen) ist das <input>-Element ein ersetztes Element. Wenn es so ist, können die Position und die Größe des Elements innerhalb seines Rahmens mit den CSS-Eigenschaften object-position und object-fit angepasst werden.
Styling
Weitere Informationen zum Hinzufügen von Farben zu Elementen in HTML finden Sie unter:
Siehe auch:
Zusätzliche Eigenschaften
>Labels
Labels sind notwendig, um unterstützenden Text mit einem <input> zu verknüpfen. Das <label>-Element bietet erklärende Informationen über ein Formularfeld, das immer angemessen ist (abgesehen von Layout-Angelegenheiten, die Sie haben mögen). Es ist nie eine schlechte Idee, ein <label> zu verwenden, um zu erklären, was in ein <input> oder ein <textarea> eingegeben werden soll.
Zugehörige Labels
Die semantische Zuordnung von <input>- und <label>-Elementen ist nützlich für unterstützende Technologien wie Bildschirmlesegeräte. Indem sie mit dem for-Attribut von <label> gepaart werden, verbinden sie das Label mit der Eingabe, was Bildschirmlesegeräten hilft, Eingabefelder den Benutzern präziser zu erläutern.
Es reicht nicht aus, einfachen Text neben das <input>-Element zu setzen. Vielmehr erfordert die Benutzerfreundlichkeit und Zugänglichkeit die Einbindung eines impliziten oder expliziten <label>:
<!-- inaccessible -->
<p>Enter your name: <input id="name" type="text" size="30" /></p>
<!-- implicit label -->
<p>
  <label>Enter your name: <input id="name" type="text" size="30" /></label>
</p>
<!-- explicit label -->
<p>
  <label for="name">Enter your name: </label>
  <input id="name" type="text" size="30" />
</p>
Das erste Beispiel ist nicht zugänglich: Es besteht keine Beziehung zwischen dem Hinweistext und dem <input>-Element.
Zusätzlich zu einem zugänglichen Namen bietet das Label eine größere 'Trefferfläche' für Maus- und Touchscreen-Nutzer zum Klicken oder Berühren. Durch die Kopplung eines <label> mit einem <input> wird das <input> sowohl durch Klicken auf das <label> als auch auf das <input> fokussiert. Wenn Sie normalen Text verwenden, um Ihr Eingabefeld zu beschriften, geschieht dies nicht. Es ist hilfreich für Menschen mit motorischen Funktionseinschränkungen, wenn der Hinweistext Teil des Aktivierungsbereichs der Eingabe ist.
Als Webentwickler ist es wichtig, dass wir niemals davon ausgehen, dass Menschen all das wissen werden, was wir wissen. Die Vielfalt der Menschen, die das Web nutzen – und damit auch Ihre Website – garantiert praktisch, dass einige Besucher Ihrer Website einige Unterschiede in den Denkprozessen und/oder Umständen haben, die sie dazu führen, Ihre Formulare sehr unterschiedlich von Ihnen zu interpretieren, ohne klare und korrekt präsentierte Labels.
Platzhalter sind nicht zugänglich
Das placeholder-Attribut ermöglicht es Ihnen, Text zu spezifizieren, der innerhalb des Inhaltsbereichs des <input>-Elements selbst erscheint, wenn er leer ist. Der Platzhalter sollte niemals benötigt werden, um Ihre Formulare zu verstehen. Er ist kein Label und sollte nicht als Ersatz verwendet werden, weil er das nicht ist. Der Platzhalter wird verwendet, um einen Hinweis darauf zu geben, wie ein eingegebener Wert aussehen sollte, nicht als Erklärung oder Hinweis.
Nicht nur ist der Platzhalter nicht für Bildschirmleser zugänglich, sondern er 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, was bedeutet, dass der placeholder möglicherweise nicht übersetzt wird.
Hinweis:
Verwenden Sie das placeholder-Attribut nicht, wenn Sie es vermeiden können. Wenn Sie ein <input>-Element beschriften 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 in einem bestimmten Format vorliegen müssen, überprüfen Sie dies 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 Eingaben basierend auf den :valid oder :invalid UI-Zuständen basierend auf dem aktuellen Zustand jeder Eingabe zu stylen, wie oben im Abschnitt UI-Pseudoklassen erwähnt, bietet der Browser clientseitige Validierung beim (versuchten) Absenden des Formulars. Beim Absenden des Formulars wird, wenn ein Formularelement die Beschränkungsvalidierung nicht besteht, von unterstützenden Browsern eine Fehlermeldung zu dem ersten ungültigen Formularelement angezeigt; entweder eine Standardnachricht basierend auf dem Fehlertyp oder eine von Ihnen festgelegte Nachricht.
Einige Eingabetypen und andere Attribute begrenzen, welche Werte für eine bestimmte Eingabe gültig sind. Zum Beispiel bedeutet <input type="number" min="2" max="10" step="2"> dass nur die Zahlen 2, 4, 6, 8 oder 10 gültig sind. Mehrere Fehler können 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 (also nicht den Anforderungen des step-Attributs entspricht), oder typeMismatch, wenn der Wert keine Zahl ist.
Für die Eingabetypen, deren Bereich periodischer Werte ist (d.h. die Werte kehren nach Erreichen des höchsten möglichen Wertes zum Anfang zurück, anstatt zu enden), ist es möglich, dass die Werte der max- und min-Eigenschaften vertauscht werden, was anzeigt, dass der Bereich der erlaubten Werte bei min beginnt, sich um den niedrigsten möglichen Wert wickelt und dann fortfährt, bis max erreicht ist. Das ist besonders nützlich für Daten und Zeiten, beispielsweise wenn Sie den Bereich von 20:00 Uhr bis 8:00 Uhr erlauben möchten:
<input type="time" min="20:00" max="08:00" name="overnight" />
Bestimmte Attribute und deren Werte können zu einem spezifischen Fehler ValidityState führen:
| Attribut | Relevante Eigenschaft | Beschreibung | 
|---|---|---|
max | 
      [`validityState.rangeOverflow`](/de/docs/Web/API/ValidityState/rangeOverflow) | 
        Tritt auf, wenn der Wert größer als der maximal zulässige Wert gemäß dem max-Attribut ist
       | 
    
maxlength | 
      [`validityState.tooLong`](/de/docs/Web/API/ValidityState/tooLong) | 
        Tritt auf, wenn die Anzahl der Zeichen größer ist als die Anzahl, die durch die maxlength-Eigenschaft erlaubt ist
       | 
    
min | 
      [`validityState.rangeUnderflow`](/de/docs/Web/API/ValidityState/rangeUnderflow) | 
        Tritt auf, wenn der Wert kleiner als der minimal zulässige Wert gemäß dem min-Attribut ist
       | 
    
minlength | 
      [`validityState.tooShort`](/de/docs/Web/API/ValidityState/tooShort) | 
        Tritt auf, wenn die Anzahl der Zeichen kleiner ist als die Anzahl, die durch die minlength-Eigenschaft erforderlich ist
       | 
    
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 übereinstimmt.
       | 
    
required | 
      [`validityState.valueMissing`](/de/docs/Web/API/ValidityState/valueMissing) | 
        Tritt auf, wenn das required-Attribut vorhanden ist, aber der Wert null ist oder Radio- oder Checkbox nicht ausgewählt sind.
       | 
    
step | 
      [`validityState.stepMismatch`](/de/docs/Web/API/ValidityState/stepMismatch) | 
        Der Wert entspricht nicht dem Schrittinkrement. Standardinkrement ist 1, daher sind nur ganze Zahlen gültig bei type="number", wenn nicht step="any" angegeben ist. step="any" wird niemals diesen Fehler 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 eine leere Zeichenkette nicht ungültig. Auch wenn die oben genannten Attribute vorhanden sind, wird eine leere Zeichenkette nicht zu einem Fehler führen, mit Ausnahme von required.
Wir können Einschränkungen festlegen, welche Werte wir akzeptieren, und unterstützende Browser werden diese Formularwerte nativ validieren und den Benutzer auf einen Fehler hinweisen, wenn das Formular abgesendet wird.
Zusätzlich zu den in der Tabelle oben beschriebenen Fehlern enthält das validityState-Interface die Booleschen readonly-Eigenschaften badInput, valid und customError. Das Gültigkeitsobjekt beinhaltet:
validityState.valueMissingvalidityState.typeMismatchvalidityState.patternMismatchvalidityState.tooLongvalidityState.tooShortvalidityState.rangeUnderflowvalidityState.rangeOverflowvalidityState.stepMismatchvalidityState.badInputvalidityState.validvalidityState.customError
Für jede dieser Booleschen Eigenschaften bedeutet ein Wert von true, dass der angegebene Grund der Validierungsfehler zutreffen kann, mit Ausnahme der valid-Eigenschaft, die true ist, wenn der Wert des Elements allen Einschränkungen entspricht.
Wenn es einen Fehler gibt, werden unterstützende Browser sowohl den Benutzer warnen als auch verhindern, dass das Formular abgesendet wird. Ein Wort der Vorsicht: Wenn ein benutzerdefinierter Fehler auf einen wahrheitswertigen Wert gesetzt ist (alles außer der leeren Zeichenkette oder null), wird verhindert, dass das Formular abgesendet wird. Wenn es keine benutzerdefinierte Fehlermeldung gibt und keine der anderen Eigenschaften wahr ist, wird valid wahr sein, und das Formular kann abgesendet 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 Fehlermeldung auf die leere Zeichenkette setzt, ist entscheidend. Wenn der Benutzer einen Fehler macht und die Gültigkeit gesetzt ist, wird es nicht nach einen neue Gültigkeitsschätzung gesendet, selbst wenn alle Werte gültig sind, bis die Botschaft null ist.
Beispiel für benutzerdefinierte Validierungsfehler
Wenn Sie eine benutzerdefinierte Fehlermeldung anzeigen möchten, wenn ein Feld die Validierung nicht besteht, müssen Sie die Constraint Validation API verwenden, die auf <input> (und verwandten) Elementen verfügbar ist. Nehmen Sie folgendes 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 entweder keinem gültigen Wert oder einem Wert einzureichen, der nicht mit dem pattern übereinstimmt.
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 rendert folgendermaßen:
Kurz gesagt:
- Wir überprüfen den gültigen Zustand des Eingabeelements jedes Mal, wenn sich sein Wert ändert, indem wir die 
checkValidity()-Methode über deninput-Ereignishandler ausführen. - Wenn der Wert ungültig ist, wird ein 
invalid-Ereignis ausgelöst, und dieinvalid-Ereignishandlerfunktion 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 Validitätsfehlermeldung festlegen. - Wenn der Eingabewert ungültig ist, wenn die Schaltfläche zum Absenden gedrückt wird, wird eine der benutzerdefinierten Fehlermeldungen angezeigt.
 - Wenn sie gültig ist, wird sie, wie erwartet, übermittelt. Dafür muss die benutzerdefinierte Validität storniert werden, indem 
setCustomValidity()mit einem leeren Zeichenkettenwert aufgerufen wird. Wir tun dies daher jedes Mal, wenn dasinput-Ereignis ausgelöst wird. Wenn Sie dies nicht tun, und eine benutzerdefinierte Validität zuvor festgelegt wurde, wird die Eingabe als ungültig registriert, selbst wenn sie zum Zeitpunkt der Übermittlung einen gültigen Wert enthält. 
Hinweis: Validieren Sie immer Eingabebeschränkungen sowohl clientseitig als auch serverseitig. Die Einschränkungsvalidierung beseitigt nicht die Notwendigkeit einer Validierung auf der Serverseite. Ungültige Werte können dennoch durch ältere Browser oder durch böswillige Akteure gesendet werden.
Hinweis:
Firefox unterstützte für viele Versionen ein proprietäres Fehlerattribut - x-moz-errormessage - das es Ihnen ermöglichte, benutzerdefinierte Fehlermeldungen auf ähnliche Weise festzulegen. Dies wurde mit Version 66 entfernt (siehe Firefox Bug 1513890).
Lokalisierung
Die erlaubten Eingaben für bestimmte <input>-Typen hängen von der Spracheinstellung ab. In einigen Sprachregionen ist 1.000,00 eine gültige Zahl, während in anderen Sprachregionen 1.000,00 die gültige Eingabe ist.
Firefox verwendet die folgenden Heuristiken, um die Spracheinstellung zu bestimmen, um die Eingabe des Benutzers zu validieren (zumindest für type="number"):
- Versuchen Sie, die Sprache zu verwenden, die durch ein 
lang/xml:lang-Attribut auf dem Element oder einem seiner Elternteile angegeben wird. - Versuchen Sie, die Sprache zu verwenden, die durch einen 
Content-Language-HTTP-Header angegeben ist. Oder, - Verwenden Sie, falls nicht angegeben, die Sprache des Browsers.
 
Barrierefreiheit
>Labels
Wenn Eingaben inkludiert werden, ist es eine Barrierefreiheitsanforderung, Labels hinzuzufügen. Dies ist notwendig, damit diejenigen, die unterstützende Technologien verwenden, wissen, wofür die Eingabe gedacht ist. Außerdem erhält das Klicken oder Berühren eines Labels den Fokus auf das zugehörige Formelement. Dies verbessert die Barrierefreiheit und Benutzerfreundlichkeit für sehende Benutzer, erhöht die Fläche, auf die ein Benutzer klicken oder berühren kann, um das Formelement zu aktivieren. Dies ist besonders nützlich (und sogar notwendig) für Radiobuttons und Checkboxen, die sehr klein sind. Mehr Informationen über Labels im Allgemeinen finden Sie unter Labels.
Das folgende ist ein Beispiel, wie das <label> mit einem <input>-Element im oben genannten Stil verknüpft wird. Sie müssen dem <input> ein id-Attribut geben. Das <label> benötigt dann ein for-Attribut, dessen Wert derselbe wie der id des Eingabefeldes ist.
<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 leicht aktiviert zu werden. Dies hilft einer Vielzahl von Menschen, einschließlich Menschen mit motorischen Kontrolleinschränkungen und Menschen, die unpräzise Eingabemethoden wie einen Stift oder Finger verwenden. Eine minimale interaktive Größe von 44×44 CSS-Pixel wird empfohlen.
Technische Zusammenfassung
| Inhaltskategorien | 
        Flussinhalt, gelistet, einreichbar, zurücksetzbares, formularassoziiertes Element,
        ausdrücksinhalt. Wenn der type nicht hidden ist, dann beschreibbares Element, wahrnehmbarer Inhalt.
       | 
    
|---|---|
| Erlaubter Inhalt | Kein; es ist ein leeres Element. | 
| Tag-Auslassung | Muss ein Starttag haben und darf keinen Endtag haben. | 
| Erlaubte Eltern | Jedes Element, das ausdrücksinhalt akzeptiert. | 
| Implizite ARIA-Rolle | 
        
  | 
    
| Erlaubte ARIA-Rollen | 
        
  | 
    
| DOM-Interface | [`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement) | 
Spezifikationen
| Specification | 
|---|
| HTML> # the-input-element>  | 
            
Browser-Kompatibilität
Loading…