Start · Sprachen · JavaScript · Referenz · HTMLTextAreaElement.autocomplete

HTMLTextAreaElement.autocomplete

Eigenschaft

Liest oder setzt das HTML-Attribut <code>autocomplete</code> eines <code>&lt;textarea&gt;</code> und steuert damit, ob und wie der Browser den Wert automatisch vervollständigen darf.

seit JavaScript Baseline: alle modernen Browser (Safari seit 2022, Kategorie: webapi

Signatur

HTMLTextAreaElement.autocomplete

Beschreibung

Die Eigenschaft autocomplete spiegelt das gleichnamige HTML-Attribut des <textarea>-Elements als Zeichenkette. Mit ihr legst du fest, ob der Browser früher eingegebene Werte vorschlagen oder gespeicherte Daten automatisch einfügen darf. Die einfachsten Werte sind "on" und "off". Du kannst aber auch Autofill-Bezeichner wie "street-address" angeben, um dem Browser zu sagen, welche Art von Daten erwartet wird.

Typische Einsatzfälle:

  • Ein mehrzeiliges Adressfeld ("shipping street-address"), das der Browser mit gespeicherten Adressen füllen soll.
  • Vertrauliche Freitextfelder wie Notizen, Einmal-Codes oder Kommentare, bei denen du Vorschläge mit "off" unterdrücken willst.
  • Formulare, die erst zur Laufzeit per JavaScript aufgebaut werden und das Verhalten dynamisch festlegen.

Fehlt das Attribut, gibt die Eigenschaft eine leere Zeichenkette zurück. Der Browser übernimmt dann den autocomplete-Wert des umgebenden <form>-Elements, und fehlt der auch, gilt "on". Wenn du der Eigenschaft einen Wert zuweist, ändert sich das Attribut im DOM sofort mit.

Parameter

Name Typ Default Beschreibung
$value string "" Beim Setzen: "on", "off" oder eine durch Leerzeichen getrennte Liste von Autofill-Bezeichnern, z. B. "section-lieferung shipping street-address".

Rückgabewert

Typ
string
Beschreibung
Der aktuelle Wert des Attributs autocomplete. Ist das Attribut nicht gesetzt, kommt eine leere Zeichenkette "" zurück.

Beispiele

Wert auslesen und Standardverhalten prüfen

// HTML: <form autocomplete="off"><textarea id="notiz"></textarea></form>
const notiz = document.querySelector('#notiz');
console.log(JSON.stringify(notiz.autocomplete));
// Tatsächliches Verhalten ergibt sich aus Element oder Formular
const effektiv = notiz.autocomplete || notiz.form?.autocomplete || 'on';
console.log(effektiv);
"" off

Autovervollständigung für vertrauliche Eingaben abschalten

const kommentar = document.createElement('textarea');
kommentar.name = 'interne-notiz';
kommentar.autocomplete = 'off';
document.body.append(kommentar);
console.log(kommentar.getAttribute('autocomplete'));
off

Mehrzeiliges Adressfeld für Browser-Autofill markieren

const adresse = document.querySelector('textarea[name="adresse"]');
adresse.autocomplete = 'shipping street-address';
adresse.rows = 3;
console.log(adresse.autocomplete);
shipping street-address

// Wichtig · Fallstricke

Kein Sicherheitsmerkmal: Mit "off" bittest du den Browser nur, keine Vorschläge zu zeigen. Browser und Passwortmanager dürfen das ignorieren. Sensible Daten musst du deshalb zusätzlich auf dem Server schützen.

Leere Zeichenkette ist kein "on": Fehlt das Attribut, liefert die Eigenschaft "". Welches Verhalten tatsächlich gilt, erfährst du erst, wenn du auch form.autocomplete prüfst.

Kein Prüfen der Werte: Du kannst jeden beliebigen Text zuweisen. Ungültige Bezeichner werfen keinen Fehler, der Browser ignoriert sie einfach.

Kompatibilität: Chrome, Edge und Firefox unterstützen die Eigenschaft schon lange. Safari erst seit Version 16 (2022). Wie gut Autofill-Bezeichner bei <textarea> tatsächlich ausgefüllt werden, unterscheidet sich je nach Browser. Am sinnvollsten ist bei mehrzeiligen Feldern street-address.