Signatur
Beschreibung
Die Eigenschaft wrap spiegelt das HTML-Attribut wrap eines <textarea>-Elements wider. Sie bestimmt, ob die visuellen Zeilenumbrüche, die der Browser beim Anzeigen langer Zeilen erzeugt, auch in den übertragenen Formularwert übernommen werden.
Zulässige Werte sind:
"soft"(Standard): Der Text wird nur optisch umbrochen. Beim Absenden werden keine zusätzlichen Zeilenumbrüche eingefügt."hard": Der Browser fügt beim Absenden an jeder automatischen Umbruchstelle ein CR+LF (\r\n) ein. Damit das funktioniert, muss das Attributcolsgesetzt sein."off"(nicht standardisiert, aber weit unterstützt): Es findet kein automatischer Umbruch statt, lange Zeilen erzeugen einen horizontalen Scrollbalken.
Die Eigenschaft ist nützlich, wenn Text in einem festen Zeilenformat an den Server gehen soll – etwa für E-Mail-Texte mit maximal 72 Zeichen pro Zeile oder für Code-Editoren, in denen kein Umbruch erwünscht ist. Wichtig: wrap beeinflusst ausschließlich den übertragenen Formularwert, nicht den Wert von textarea.value im JavaScript.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $wert | "soft" | "hard" | "off" | string | "" (verhält sich wie "soft") | Beim Setzen: neuer Umbruchmodus. Der Wert wird unverändert ins Attribut wrap geschrieben; ungültige Werte werden wie "soft" behandelt. |
Rückgabewert
wrap-Attributs. Ist das Attribut nicht gesetzt, wird ein leerer String "" zurückgegeben (nicht "soft").Beispiele
Umbruchmodus auslesen
// HTML: <textarea id="nachricht" cols="40" wrap="hard"></textarea>
const textarea = document.querySelector('#nachricht');
console.log(textarea.wrap);
// Ohne Attribut gesetzt:
const leer = document.createElement('textarea');
console.log(JSON.stringify(leer.wrap));
Harten Umbruch für E-Mail-Text aktivieren
const mailText = document.createElement('textarea');
mailText.name = 'body';
mailText.cols = 72; // Pflicht für wrap="hard"
mailText.wrap = 'hard'; // Umbrüche werden beim Absenden eingefügt
document.querySelector('form').append(mailText);
console.log(mailText.outerHTML);
Zeilenumbruch in einem Code-Feld umschalten
const editor = document.querySelector('#code-editor');
const toggle = document.querySelector('#umbruch-toggle'); // Checkbox
toggle.addEventListener('change', () => {
// 'off' = horizontal scrollen, 'soft' = optisch umbrechen
editor.wrap = toggle.checked ? 'soft' : 'off';
console.log(`Umbruchmodus: ${editor.wrap}`);
});
// Wichtig · Fallstricke
colsist Pflicht für"hard": Ohnecols-Attribut hatwrap="hard"keine Wirkung – die Breite per CSS reicht nicht.valuebleibt unverändert: Die harten Umbrüche werden erst beim Serialisieren des Formulars (Absenden,new FormData(form)) eingefügt.textarea.valueenthält sie nicht.- Leerer String statt Standardwert: Ohne Attribut liefert der Getter
"". Prüfe daher aufwrap === 'hard'statt auf'soft'. "off"ist nicht standardisiert: Der Wert wird zwar von allen großen Browsern unterstützt, laut Spezifikation ist aber das CSSwhite-space: prebzw.text-wrap: nowrapdie saubere Alternative.- Kompatibilität: Die DOM-Eigenschaft ist in Chrome, Edge, Firefox und Safari verfügbar (Firefox seit Version 4, Safari seit 5 bzw. vollständig seit neueren Versionen); das HTML-Attribut funktioniert noch deutlich länger.