HTML-Attribut: autocomplete
Das HTML-Attribut autocomplete
ermöglicht es Webentwicklern anzugeben, inwiefern der User Agent berechtigt ist, Unterstützung beim automatischen Ausfüllen von Formularfeldern zu leisten, sowie eine Anleitung an den Browser, welche Art von Informationen im Feld erwartet wird.
Es steht auf <input>
-Elementen zur Verfügung, die Text- oder numerische Werte als Eingabe annehmen, <textarea>
-Elementen, <select>
-Elementen und <form>
-Elementen.
Probieren Sie es aus
Beschreibung
Das autocomplete
-Attribut gibt dem User Agent einen Hinweis, wie oder ob ein Formularfeld vorab ausgefüllt werden soll. Der Attributwert ist entweder das Schlüsselwort off
oder on
oder eine geordnete Liste von durch Leerzeichen getrennten Tokens.
<input autocomplete="off" />
<input autocomplete="on" />
<input autocomplete="shipping street-address" />
<input autocomplete="section-user1 billing postal-code" />
Wenn ein <input>
, <select>
oder <textarea>
-Element kein autocomplete
-Attribut hat, verwendet der Browser das autocomplete
-Attribut des zugehörigen Formulars des Elements. Das zugehörige Formular ist entweder das <form>
, das mit der im form
Attribut des Elements angegebenen id
übereinstimmt (falls vorhanden) oder, häufiger, das <form>
, in dem das Element verschachtelt ist.
Hinweis:
Um Autovervollständigung bereitzustellen, können User Agents von <input>
/<select>
/<textarea>
-Elementen verlangen:
- Ein
name
- und/oderid
-Attribut zu haben - Nachfahren eines
<form>
-Elements zu sein - Von einem Formular mit einem submit-Button verwaltet zu werden
Wenn die gleiche Tokenliste in mehr als einem Formularelement verwendet wird, vervollständigt der User Agent alle Vorkommen des gleichen autocomplete
-Wertes mit demselben Datenwert.
Einige Tokens können mehr als einmal mit möglicherweise unterschiedlichen erwarteten Werten verwendet werden, wie das Token zip-code
in einem Formular, das sowohl Versand- als auch Rechnungsadressen enthält. Durch das Einfügen mehrerer verschiedener Tokens in eine durch Leerzeichen getrennte Liste erhalten die zugehörigen Formularelemente eindeutige Autovervollständigungswerte: in diesem Fall autocomplete="shipping zip-code"
und autocomplete="billing zip-code"
.
Einige Autovervollständigungswerte müssen möglicherweise mehrfach wiederverwendet werden. Ein Formular kann zum Beispiel mehrere Versandadressen enthalten und daher mehrere Vorkommen von "shipping zip-code"
haben, während dennoch unterschiedliche Werte erwartet werden. Um den Autovervollständigungswert in diesen Fällen eindeutig zu machen, kann das erste Token in der durch Leerzeichen getrennten Liste der Tokens ein section-*
-Token sein, wobei die ersten acht Zeichen des Tokens immer der String "section-" sind, gefolgt von einer alphanumerischen Zeichenfolge. Alle Formularfelder, die das section-*
-Token mit derselben alphanumerischen Zeichenfolge haben, gehören zur gleichen benannten Gruppe.
Wenn das autocomplete
-Attribut auf hidden-Eingabeelementen (<input type="hidden">
) eingeschlossen ist, muss sein Wert eine geordnete Liste von durch Leerzeichen getrennten Tokens sein; die Schlüsselwörter on
und off
sind nicht erlaubt.
Die Quelle der vorgeschlagenen Werte liegt in der Regel im Ermessen des Browsers; typischerweise stammen Werte aus früher eingegebenen Werten des Benutzers, sie können aber auch aus vorkonfigurierten Werten stammen. Ein Browser könnte den Benutzer beispielsweise dazu ermutigen, Name, Adresse, Telefonnummer und E-Mail-Adressen zu speichern, um Autovervollständigung zu ermöglichen. Der Browser kann auch die Möglichkeit bieten, verschlüsselte Kreditkarteninformationen zu speichern, für autovervollständigte Eingaben nach einem Authentifizierungsvorgang.
Hinweis:
Das autocomplete
-Attribut steuert auch, ob Firefox – im Gegensatz zu anderen Browsern – den dynamischen deaktivierten Zustand und (falls zutreffend) den dynamischen markierten Zustand eines <input>
-Elements, <textarea>
-Elements oder gesamten <form>
über Seitenladezeiten hinweg beibehält. Die Beibehaltungsfunktion ist standardmäßig aktiviert. Wenn der Wert des autocomplete
-Attributs auf off
gesetzt wird, wird diese Funktion deaktiviert. Dies funktioniert sogar, wenn das autocomplete
-Attribut normalerweise aufgrund seines type
nicht angewendet würde. Siehe Firefox bug 654072.
Werte
Der Attributwert ist entweder das Schlüsselwort off
oder on
oder eine durch Leerzeichen getrennte <token-list>
, die die Bedeutung des Autovervollständigungswertes beschreibt.
off
-
Der Browser darf für dieses Feld keinen Wert automatisch eingeben oder auswählen. Es ist möglich, dass das Dokument oder die Anwendung eine eigene Autovervollständigungsfunktion bietet oder dass Sicherheitsbedenken erfordern, dass der Wert des Feldes nicht automatisch eingetragen wird.
Hinweis: In den meisten modernen Browsern wird die Einstellung
autocomplete
auf"off"
einen Passwortmanager nicht davon abhalten, den Benutzer zu fragen, ob er Benutzername und Passwort speichern möchte oder diese Werte in das Anmeldeformular einer Seite automatisch einzugeben. Siehe Verwaltung der automatischen Ausfüllung für Anmeldefelder. on
-
Der Browser darf die Eingabe automatisch ausfüllen. Es wird keine Anleitung dazu gegeben, welcher Datentyp im Feld erwartet wird, sodass der Browser sein eigenes Urteilsvermögen verwenden kann.
<token-list>
-
Eine geordnete Menge von durch Leerzeichen getrennten Tokens bestehend aus Autofill-Detail-Tokens, denen optionale Abschnitts- und entweder Rechnungs- oder Versandgruppierungs-Tokens vorausgehen. Telefonnummern, E-Mail-Adressen und Nachrichtenprotokoll-Tokens gehen ein Token voraus, das den Empfängertyp identifiziert.
Siehe den WHATWG-Standard für detailliertere Informationen.
Tokenliste Tokens
Die <token-list>
-Optionen beinhalten, in der Reihenfolge:
Benannte Gruppen
Um eine benannte Gruppe von Formularfeldern zu erstellen, kann das optionale section-*
-Token verwendet werden. Wenn vorhanden, muss dieses Token das erste Token in der durch Leerzeichen getrennten Liste von Tokens sein.
section-*
-
Definiert den Namen für eine Gruppe von Formularelementen. Ein Token, dessen erste acht Zeichen der String "section-" sind, nicht beachtend Groß- und Kleinschreibung, gefolgt von zusätzlichen Zeichen. Alle Formularelemente, die mit demselben Token beginnen, gehören zur benannten Gruppe.
Gruppierungskennung
Eine optionale shipping
- oder billing
-Gruppierungskennung
shipping
-
Das Feld, das durch nachfolgende Tokens identifiziert wird, ist Teil der Versandadresse oder Kontaktinformation
billing
-
Das Feld, das durch nachfolgende Tokens identifiziert wird, ist Teil der Rechnungsadresse oder Kontaktinformation
Detail-Tokens
Jede durch Leerzeichen getrennte Detailliste von Tokens enthält entweder einen Empfängertyp mit digitalen Kontaktinformationen, in dieser Reihenfolge, oder eine durch Leerzeichen getrennte Liste von anderen Tokens.
Empfängertyp
Die Tokens, die den Empfängertyp identifizieren, beinhalten:
home
-
Der Kontakt-Typ, der durch nachfolgende Tokens identifiziert wird, ist für den Kontaktaufnahme mit dem Empfänger an seinem Wohnort.
work
-
Der Kontakt-Typ, der durch nachfolgende Tokens identifiziert wird, ist für den Kontaktaufnahme mit dem Empfänger an seinem Arbeitsplatz.
mobile
-
Der Kontakt-Typ, der durch nachfolgende Tokens identifiziert wird, ist für den Kontaktaufnahme mit dem Empfänger unabhängig von seinem Standort.
fax
-
Der Empfänger, der durch nachfolgende Tokens identifiziert wird, ist für ein Faxgerät.
page
-
Der Empfänger, der durch nachfolgende Tokens identifiziert wird, ist für einen Pager oder Funkmeldeempfänger.
Digitale Kontakt-Tokens
Das Token oder die Gruppe von Tokens für Telefonnummern oder die Komponenten von Nummern, Telefonnebenstellen, E-Mail-Adressen oder Instant Messaging-Protokolle.
tel
-
Eine vollständige Telefonnummer, einschließlich der Ländervorwahl. Wenn Sie die Telefonnummer in ihre Komponenten aufteilen müssen, können Sie diese Werte für diese Felder verwenden:
tel-country-code
-
Die Ländervorwahl, wie "1" für die Vereinigten Staaten, Kanada und andere Gebiete in Nordamerika und Teilen der Karibik.
tel-national
-
Die gesamte Telefonnummer ohne das Länderkennzeichen, einschließlich einer internen Landeskennzahl. Für die Telefonnummer "1-855-555-6502" wäre dieser Feldwert "855-555-6502".
tel-area-code
-
Die Vorwahl, mit einer gegebenenfalls angewandten internen Landeskennzeichnummer.
tel-local
-
Die Telefonnummer ohne die Landesvorwahl oder Vorwahl. Diese kann weiter in zwei Teile aufgeteilt werden, für Telefonnummern, die eine Vermittlungsnummer und dann eine Nummer innerhalb des Vermittlungssystems aufweisen. Für die Telefonnummer "555-6502" verwenden Sie
tel-local-prefix
für "555" undtel-local-suffix
für "6502".
tel-extension
-
Ein Telefonnebenstellencode innerhalb der Telefonnummer, wie eine Zimmer- oder Suitnummer in einem Hotel oder eine Bürotelefonnebenstelle in einem Unternehmen.
email
-
Eine E-Mail-Adresse.
impp
-
Eine URL für einen Endpunkt eines Instant Messaging-Protokolls, wie
xmpp:username@example.net
.
Andere Tokens
Wenn das Formularfeld keine Telefonnummer, E-Mail-Adresse oder ein Instant Messaging-Protokoll ist, wird die durch Leerzeichen getrennte Liste von Tokens nicht durch einen Kontakt Typ vorausgegangen:
name
-
Das Feld erwartet den Wert als vollständigen Namen einer Person. Die Verwendung von
name
anstelle der Aufteilung des Namens in seine Bestandteile ist generell vorzuziehen, da es umgeht, mit der großen Vielfalt an menschlichen Namen und ihrer Struktur umzugehen; jedoch können Sie die folgendenautocomplete
-Werte verwenden, wenn Sie den Namen in seine Bestandteile aufteilen müssen:honorific-prefix
-
Das Präfix oder der Titel, wie "Mrs.", "Mr.", "Miss", "Ms.", "Dr." oder "Mlle.".
given-name
-
Der Vorname.
additional-name
-
Der mittlere Name.
family-name
-
Der Nachname.
honorific-suffix
-
Das Suffix, wie "Jr.", "B.Sc.", "PhD.", "MBASW" oder "IV".
nickname
-
Ein Spitzname oder Handle.
username
-
Ein Benutzername oder Kontoname.
new-password
-
Ein neues Passwort. Wenn ein neues Konto erstellt oder ein Passwort geändert wird, sollte dies für ein "Geben Sie Ihr neues Passwort ein"- oder "Neues Passwort bestätigen"-Feld verwendet werden, im Gegensatz zu einem allgemeinen "Geben Sie Ihr aktuelles Passwort ein"-Feld, das vorhanden sein könnte. Dies kann vom Browser sowohl genutzt werden, um ein versehentliches Ausfüllen eines bestehenden Passwortes zu vermeiden als auch Unterstützung bei der Erstellung eines sicheren Passworts zu bieten.
current-password
-
Das aktuelle Passwort des Benutzers.
one-time-code
-
Ein Einmal-Passwort (OTP) zur Verifizierung der Benutzeridentität, das als zusätzlicher Faktor in einem Anmeldeprozess verwendet wird. Meistens handelt es sich um einen Code, der über einen anderen Kanal wie SMS, E-Mail oder Authenticator-Anwendung empfangen wird.
organization-title
-
Eine Berufsbezeichnung oder der Titel einer Person innerhalb einer Organisation, wie "Senior Technical Writer", "President" oder "Assistant Troop Leader".
organization
-
Name eines Unternehmens oder einer Organisation, wie "Acme Widget Company" oder "Girl Scouts of America".
street-address
-
Eine Straßenadresse. Diese kann mehrere Textzeilen umfassen und sollte den Standort der Adresse innerhalb seiner zweiten Verwaltungsebene (in der Regel eine Stadt oder ein Ort) vollständig identifizieren, sollte jedoch nicht den Stadtnamen, die Postleitzahl oder den Ländernamen enthalten.
address-line1
,address-line2
,address-line3
-
Jede einzelne Zeile der Straßenadresse. Diese sollten nur vorhanden sein, wenn
street-address
nicht vorhanden ist.
address-level4
-
Die feinste Verwaltungsebene, in Adressen, die vier Ebenen aufweisen.
address-level3
-
Die dritte Verwaltungsebene, in Adressen mit mindestens drei Verwaltungsebenen.
address-level2
-
Die zweite Verwaltungsebene, in Adressen mit mindestens zwei. In Ländern mit zwei Verwaltungsebenen wäre dies typischerweise die Stadt, das Dorf, die Gemeinde oder ein anderer Ort, in dem sich die Adresse befindet.
address-level1
-
Die erste Verwaltungsebene in der Adresse. Dies ist in der Regel die Provinz, in der sich die Adresse befindet. In den Vereinigten Staaten wäre dies der Bundesstaat. In der Schweiz der Kanton. Im Vereinigten Königreich die Grafschaft.
country
-
Ein Länder- oder Territoriencode.
country-name
-
Ein Länder- oder Territorienname.
postal-code
-
Eine Postleitzahl (in den Vereinigten Staaten ist dies die PLZ).
cc-name
-
Der vollständige Name, wie er auf einem Zahlungsmittel wie einer Kreditkarte gedruckt ist oder damit verbunden ist. Typischerweise wird die Verwendung eines vollständigen Namenfeldes bevorzugt, anstatt den Namen in Teile zu zerlegen.
cc-given-name
-
Ein Vorname, wie er auf einem Zahlungsmittel oder einer Kreditkarte angegeben ist.
cc-additional-name
-
Ein zweiter Vorname, wie er auf einem Zahlungsmittel oder einer Kreditkarte angegeben ist.
cc-family-name
-
Ein Nachname, wie er auf einer Kreditkarte angegeben ist.
cc-number
-
Eine Kreditkartennummer oder eine andere Zahl, die eine Zahlungsmethode identifiziert, wie eine Kontonummer.
cc-exp
-
Ein Ablaufdatum der Zahlungsmethode, typischerweise im Format "MM/YY" oder "MM/YYYY".
cc-exp-month
-
Der Monat, in dem die Zahlungsmethode abläuft.
cc-exp-year
-
Das Jahr, in dem die Zahlungsmethode abläuft.
cc-csc
-
Der Sicherheitscode für das Zahlungsmittel; bei Kreditkarten ist dies die 3-stellige Prüfnummer auf der Rückseite der Karte.
cc-type
-
Der Typ des Zahlungsmittels (wie "Visa" oder "Master Card").
transaction-currency
-
Die Währung, in der die Transaktion durchgeführt werden soll.
transaction-amount
-
Der Betrag, angegeben in der Währung, die durch
transaction-currency
spezifiziert ist, der Transaktion, für ein Zahlungsformular. language
-
Eine bevorzugte Sprache, angegeben als gültiger BCP 47 Sprachcode.
bday
-
Ein Geburtsdatum, als vollständiges Datum.
bday-day
-
Der Tag des Monats eines Geburtstages.
bday-month
-
Der Monat des Jahres eines Geburtstages.
bday-year
-
Das Jahr eines Geburtstages.
sex
-
Eine Geschlechtsidentität (wie "Weiblich", "Fa'afafine", "Hijra", "Männlich", "Nichtbinär"), als freier Text ohne Zeilenumbrüche.
url
-
Eine URL, wie eine Startseite oder die Adresse einer Unternehmenswebsite, soweit angemessen im Kontext der anderen Felder im Formular.
photo
-
Die URL eines Bildes, das die in den anderen Feldern des Formulars angegebenen Person, Firma oder Kontaktinformationen darstellt.
Web-Autorisierungs-Token
Mit <input>
und <textarea>
kann das webauthn
-Token zuletzt inkludiert werden, um anzuzeigen, dass der User Agent beim Interagieren mit der Steuerung öffentliche Schlüsselanmeldedaten anzeigen soll.
webauthn
Experimentell-
Passwörter, die durch die Web Authentication API generiert wurden, wie sie durch einen bedingten
navigator.credentials.get()
-Aufruf (d.h. einen, dermediation: 'conditional'
beinhaltet) angefordert werden. Falls inkludiert, ist dies das letzte Token in der durch Leerzeichen getrennten Tokenliste. Siehe Anmeldung mit einem Passkey durch Formular-Autovervollständigung für weitere Informationen.
Beispiele
<div>
<label for="cc-number">Enter your credit card number</label>
<input name="cc-number" id="cc-number" autocomplete="off" />
</div>
Verwaltungsebenen in Adressen
Die vier Verwaltungsebenenfelder (address-level1
bis address-level4
) beschreiben die Adresse in Bezug auf zunehmende Präzision innerhalb des Landes, in dem sich die Adresse befindet. Jedes Land hat sein eigenes System von Verwaltungsebenen und kann die Ebenen in unterschiedlicher Reihenfolge anordnen, wenn Adressen geschrieben werden.
address-level1
repräsentiert immer die breiteste Verwaltungsebene; es ist der am wenigsten spezifische Teil der Adresse nach dem Ländernamen.
Flexibilität des Formularlayouts
Angesichts der Tatsache, dass in verschiedenen Ländern Adressen auf unterschiedliche Weise geschrieben werden, wobei jedes Feld sich an verschiedenen Stellen innerhalb der Adresse befindet und sogar unterschiedliche Sätze und Anzahlen von Feldern vollständig bestehen, kann es hilfreich sein, wenn Ihre Website, wann immer möglich, in der Lage ist, auf das Layout zu wechseln, das von Ihren Nutzern erwartet wird, wenn ein Adresseeingabeformular präsentiert wird, da das Land, in dem sich die Adresse befindet, berücksichtigt wird.
Variationen
Die Verwendung jeder Verwaltungsebene variiert von Land zu Land. Im Folgenden finden Sie einige Beispiele; dies soll keine vollständige Liste darstellen.
Vereinigte Staaten
Eine typische Wohnadresse in den Vereinigten Staaten sieht so aus:
432 Anywhere St Exampleville CA 95555
In den Vereinigten Staaten ist der am wenigsten spezifische Teil der Adresse der Bundesstaat, in diesem Fall "CA" (das offizielle Kürzel des US Postal Service für "California"). Somit ist address-level1
der Bundesstaat, oder "CA" in diesem Fall.
Der zweitwenigste spezifische Teil der Adresse ist der Stadt- oder Ortsname, somit ist address-level2
"Exampleville" in diesem Beispiel.
Adressen in den Vereinigten Staaten verwenden keine Ebenen 3 und höher.
Vereinigtes Königreich
Adress-Eingabeformulare im Vereinigten Königreich sollten ein oder zwei Adressstufen und ein, zwei oder drei Adresszeilen enthalten, abhängig von der Adresse. Eine vollständige Adresse würde so aussehen:
103 Frogmarch Street Upper-Wapping Winchelsea Whereshire TN99 8ZZ
Die Adressstufen sind:
address-level1
: Die Grafschaft — "Whereshire" in diesem Fall.address-level2
: Die Poststadt — "Winchelsea" in diesem Fall.address-line2
: Das Lokal — "Upper-Wapping" in diesem Fall.address-line1
: Die Haus/Straße Details — "103 Frogmarch Street".
Die Postleitzahl ist separat. Beachten Sie, dass Sie tatsächlich nur die Postleitzahl und address-line1
verwenden können, um eine erfolgreiche Zustellung zu ermöglichen, daher sollten dies die einzigen verpflichtenden Elemente sein, aber in der Regel neigen die Menschen dazu, mehr Details anzugeben.
China
China kann bis zu drei Verwaltungsebenen einsetzen: die Provinz, die Stadt und den Bezirk.
Die 6-stellige Postleitzahl wird nicht immer benötigt, aber wenn sie angegeben wird, ist sie zur Klarstellung separat mit einem Label angegeben. Zum Beispiel:
北京市东城区建国门北大街 8 号华润大厦 17 层 1708 单元 邮编:100005
Japan
Eine Adresse in Japan ist typischerweise in einer Zeile geschrieben, in einer Reihenfolge von den am wenigsten spezifischen zu den spezifischeren Teilen (in umgekehrter Reihenfolge zu den Vereinigten Staaten). Es gibt zwei oder drei Verwaltungsebenen in einer Adresse. Eine zusätzliche Zeile kann verwendet werden, um Gebäudenamen und Raumnummern anzuzeigen. Die Postleitzahl ist separat. Zum Beispiel:
〒 381-0000 長野県長野市某町 123
„〒“ und die folgenden sieben Ziffern zeigen die Postleitzahl.
address-level1
wird für Präfekturen oder die Tokyo Metropole verwendet; „長野県“ (Nagano Präfektur) ist in diesem Fall gegeben. address-level2
wird typischerweise für Städte, Bezirke, Städte und Dörfer verwendet; „長野市“ (Nagano City) in diesem Fall. „某町 123“ ist address-line1
, das aus einem Gebietsnamen und einer Grundstücksnummer besteht.
Spezifikationen
Specification |
---|
HTML Standard # attr-form-autocomplete |
HTML Standard # attr-fe-autocomplete |
Browser-Kompatibilität
html.elements.form.autocomplete
BCD tables only load in the browser
html.elements.input.autocomplete
BCD tables only load in the browser
html.elements.select.autocomplete
BCD tables only load in the browser
html.elements.textarea.autocomplete
BCD tables only load in the browser
Siehe auch
- Das
<input>
Element - Das
<select>
Element - Das
<textarea>
Element - Das
<form>
Element - HTML-Formulare
- Alle globalen Attribute