Signatur
Beschreibung
Die Eigenschaft name von HTMLTextAreaElement ist ein String, der das HTML-Attribut name eines <textarea>-Elements widerspiegelt. Wenn Sie die Eigenschaft lesen, erhalten Sie den Attributwert. Wenn Sie sie schreiben, wird das Attribut im DOM aktualisiert.
Der Name bestimmt, unter welchem Schlüssel der Inhalt des Textfelds beim Absenden eines Formulars übertragen wird. Das gilt für klassische POST- und GET-Anfragen genauso wie für new FormData(form). Ein <textarea> ohne Namen wird beim Absenden nicht mitgeschickt.
Außerdem können Sie über den Namen auf das Element zugreifen, zum Beispiel mit form.elements.namedItem("kommentar") oder form.elements.kommentar. Das ist nützlich, wenn Formularfelder dynamisch erzeugt werden oder wenn Sie Felder eindeutig zuordnen wollen, ohne eine id zu vergeben.
Rückgabewert
name. Fehlt das Attribut, ist der Wert ein leerer String "".Beispiele
Namen auslesen und ändern
// HTML: <textarea id="notiz" name="notiz"></textarea>
const textarea = document.getElementById("notiz");
console.log(textarea.name);
textarea.name = "bemerkung";
console.log(textarea.getAttribute("name"));
Name bestimmt den Schlüssel in FormData
// HTML: <form id="feedback"><textarea name="kommentar">Tolle Seite!</textarea></form>
const form = document.getElementById("feedback");
const daten = new FormData(form);
console.log(daten.get("kommentar"));
// Ohne Namen wird das Feld nicht übertragen
form.querySelector("textarea").name = "";
console.log([...new FormData(form).keys()].length);
Dynamisch erzeugte Felder mit eindeutigen Namen
const form = document.createElement("form");
["frage1", "frage2"].forEach((key) => {
const ta = document.createElement("textarea");
ta.name = key;
ta.value = `Antwort zu ${key}`;
form.append(ta);
});
console.log(form.elements.namedItem("frage2").value);
console.log(Object.fromEntries(new FormData(form)));
// Wichtig · Fallstricke
- Fehlender Name = keine Übertragung: Ein
<textarea>ohnename(oder mit leerem Namen) fehlt beim Absenden und inFormData. Das ist eine häufige Fehlerquelle. - Verdeckte Formular-Eigenschaften: Namen wie
submit,actionoderresetüberschreiben überform.submitusw. die gleichnamigen Methoden und Eigenschaften des Formulars. Wählen Sie solche Namen deshalb nicht. - Doppelte Namen: Haben mehrere Felder denselben Namen, liefert
form.elements.namedItem()eineRadioNodeListstatt eines einzelnen Elements.FormDataenthält dann mehrere Einträge, die Sie mitgetAll()auslesen. - Nicht verwechseln:
nameist nicht dasselbe wieid. Für die Zuordnung per<label for>brauchen Sie dieid. - Die Eigenschaft wird von allen Browsern unterstützt.