<textarea>: Das Textarea-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 <textarea> HTML Element repräsentiert ein mehrzeiliges Plain-Text-Bearbeitungsfeld, das nützlich ist, wenn Benutzer eine größere Menge an freiem Text eingeben sollen, zum Beispiel einen Kommentar in einem Bewertungs- oder Feedback-Formular.
Probieren Sie es aus
<label for="story">Tell us your story:</label>
<textarea id="story" name="story" rows="5" cols="33">
It was a dark and stormy night...
</textarea>
label,
textarea {
font-size: 0.8rem;
letter-spacing: 1px;
}
textarea {
padding: 10px;
max-width: 100%;
line-height: 1.5;
border-radius: 5px;
border: 1px solid #cccccc;
box-shadow: 1px 1px 1px #999999;
}
label {
display: block;
margin-bottom: 10px;
}
Das obige Beispiel demonstriert eine Reihe von Merkmalen des <textarea>:
- Ein
id-Attribut, um das<textarea>mit einem<label>-Element für Barrierefreiheitszwecke zu verknüpfen. - Ein
name-Attribut, um den Namen des zugehörigen Datenpunkts festzulegen, der beim Absenden des Formulars an den Server übermittelt wird. rows- undcols-Attribute, um eine genaue Größe für das<textarea>festzulegen. Es ist sinnvoll, diese zu setzen, um Konsistenz zu gewährleisten, da die Standardeinstellungen der Browser unterschiedlich sein können.- Das
<textarea>-Element spezifiziert seinen Inhalt in HTML- und JavaScript-Kontexten unterschiedlich:- In HTML wird der anfängliche Inhalt eines
<textarea>zwischen seinen öffnenden und schließenden Tags angegeben, nicht alsvalue-Attribut. - In JavaScript haben
<textarea>-Elemente einevalue-Eigenschaft, die verwendet werden kann, um den aktuellen Inhalt abzurufen oder zu setzen, unddefaultValue, um seinen Anfangswert zu erhalten oder zu setzen (entspricht dem Zugriff auf den Textinhalt des HTML-Elements).
- In HTML wird der anfängliche Inhalt eines
Das <textarea>-Element akzeptiert außerdem mehrere Attribute, die normalerweise für Formular-<input>s gelten, wie autocapitalize, autocomplete, autofocus, disabled, placeholder, readonly und required.
Attribute
Dieses Element umfasst die globalen Attribute.
autocapitalize-
Steuert, ob der eingegebene Text automatisch großgeschrieben wird und wenn ja, in welcher Weise.
autocomplete-
Steuert, ob eingegebener Text automatisch vom Browser vervollständigt werden kann. Mögliche Werte sind:
off: Der Benutzer muss bei jeder Verwendung explizit einen Wert in dieses Feld eingeben, oder das Dokument bietet seine eigene Vervollständigungsmethode; der Browser vervollständigt den Eintrag nicht automatisch.on: Der Browser kann den Wert basierend auf Werten, die der Benutzer bei früheren Verwendungen eingegeben hat, automatisch vervollständigen.<token-list>: Eine geordnete Menge von durch Leerzeichen getrennten Autofill-Detail-Token, optional vorangegangen von einem Sektions-Token, einem Zahlungs- oder Versand-Token und/oder einem Token, das den Typ des Empfängers identifiziert.
<textarea>-Elemente, die dasautocomplete-Attribut nicht spezifizieren, erben denautocomplete-Statusonoderoff, der im Formular des<textarea>-Formularbesitzers festgelegt ist. Der Formularbesitzer ist entweder das<form>-Element, dessen Nachfolger das<textarea>-Element ist, oder das Formularelement, desseniddurch dasform-Attribut des Eingabeelements angegeben wird. Weitere Informationen finden Sie imautocomplete-Attribut in<form>. autocorrect-
Steuert, ob die automatische Rechtschreibkorrektur und Textverarbeitung aktiviert ist, während der Benutzer dieses
textareabearbeitet. Zulässige Werte sind: autofocus-
Dieses Boolesche Attribut ermöglicht es Ihnen, anzugeben, dass ein Formularelement beim Laden der Seite den Eingabefokus haben soll. Nur ein Element im Dokument kann dieses Attribut spezifiziert haben.
cols-
Die sichtbare Breite der Texteingabe, in durchschnittlichen Zeichenbreiten. Wenn es angegeben ist, muss es eine positive ganze Zahl sein. Wenn es nicht angegeben ist, beträgt der Standardwert
20. dirname-
Dieses Attribut wird verwendet, um die Textrichtung innerhalb des Elementinhalts anzugeben. Weitere Informationen finden Sie im
dirname-Attribut. disabled-
Dieses Boolean-Attribut gibt an, dass der Benutzer nicht mit dem Steuerelement interagieren kann. Wenn dieses Attribut nicht spezifiziert ist, übernimmt das Steuerelement die Einstellungen des übergeordneten Elements, zum Beispiel
<fieldset>; wenn es kein übergeordnetes Element gibt, wenn dasdisabled-Attribut gesetzt ist, wird das Steuerelement aktiviert. form-
Das Formularelement, dem das
<textarea>-Element zugeordnet ist (sein "Formularbesitzer"). Der Wert des Attributs muss dieideines Formularelements im gleichen Dokument sein. Wenn dieses Attribut nicht angegeben ist, muss das<textarea>-Element ein Nachfolger eines Formularelements sein. Dieses Attribut ermöglicht es Ihnen,<textarea>-Elemente überall in einem Dokument zu platzieren und nicht nur als Nachfolger von Formularelementen. maxlength-
Die maximale Zeichenlänge (gemessen in UTF-16-Codeeinheiten), die der Benutzer eingeben kann. Wenn dieser Wert nicht angegeben ist, kann der Benutzer eine unbegrenzte Anzahl von Zeichen eingeben.
minlength-
Die minimale Zeichenlänge (gemessen in UTF-16-Codeeinheiten), die der Benutzer eingeben sollte.
name-
Der Name des Steuerelements.
placeholder-
Ein Hinweis an den Benutzer, was in das Steuerelement eingegeben werden kann. Wagenrückläufe oder Zeilenumbrüche innerhalb des Platzhaltertexts müssen als Zeilenumbrüche beim Rendern des Hinweises behandelt werden.
Hinweis: Platzhalter sollten nur verwendet werden, um ein Beispiel für die Art der Daten zu zeigen, die in ein Formular eingegeben werden sollten; sie sind keine Ersatz für ein richtiges
<label>-Element, das mit der Eingabe verbunden ist. Sehen Sie sich<input>labels für eine vollständige Erklärung an. readonly-
Dieses Boolean-Attribut zeigt an, dass der Benutzer den Wert des Steuerelements nicht ändern kann. Anders als das
disabled-Attribut verhindert dasreadonly-Attribut nicht, dass der Benutzer im Steuerelement klickt oder auswählt. Der Wert eines schreibgeschützten Steuerelements wird dennoch mit dem Formular übermittelt. required-
Dieses Attribut gibt an, dass der Benutzer einen Wert eingeben muss, bevor ein Formular gesendet wird.
rows-
Die Anzahl der sichtbaren Textzeilen für das Steuerelement. Wenn es angegeben ist, muss es eine positive ganze Zahl sein. Wenn es nicht angegeben ist, beträgt der Standardwert 2.
spellcheck-
Gibt an, ob das
<textarea>einer Rechtschreibprüfung durch den zugrunde liegenden Browser/OS unterzogen wird. Der Wert kann sein:true: Zeigt an, dass das Element auf Rechtschreibung und Grammatik überprüft werden muss.default: Zeigt an, dass das Element nach einem Standardverhalten handeln soll, das möglicherweise auf denspellcheck-Wert des übergeordneten Elements basiert.false: Zeigt an, dass das Element nicht auf Rechtschreibung überprüft werden sollte.
wrap-
Gibt an, wie das Steuerelement den Wert für die Formularübermittlung umschließen soll. Mögliche Werte sind:
hard: Der Browser fügt automatisch Zeilenumbrüche (CR+LF) ein, sodass jede Zeile nicht länger als die Breite des Steuerelements ist; dascols-Attribut muss angegeben werden, damit dies wirksam wird.soft: Der Browser stellt sicher, dass alle Zeilenumbrüche im eingegebenen Wert einCR+LF-Paar sind, aber keine zusätzlichen Zeilenumbrüche zum Wert hinzugefügt werden.offNicht standardisiert : Wiesoft, aber ändert das Erscheinungsbild inwhite-space: pre, sodass Zeilenabschnitte, diecolsüberschreiten, nicht umgebrochen werden und das<textarea>horizontal scrollbar wird.
Wenn dieses Attribut nicht angegeben ist, ist
softder Standardwert.
Styling mit CSS
<textarea> ist ein ersetzbares Element — es hat intrinsische Dimensionen, ähnlich wie ein Rasterbild. Standardmäßig ist sein display-Wert inline-block. Im Vergleich zu anderen Formularelementen ist es relativ einfach zu stylen, da sein Boxmodell, seine Schriftarten, Farbgebung usw. über reguläres CSS leicht manipulierbar sind.
Styling HTML-Formulare bietet einige nützliche Tipps zum Stylen von <textarea>s.
Baseline-Inkonsistenz
Die HTML-Spezifikation definiert nicht, wo die Grundlinie eines <textarea> ist, sodass verschiedene Browser sie an verschiedenen Positionen setzen. Für Gecko wird die <textarea>-Grundlinie auf der Grundlinie der ersten Zeile des Textbereichs gesetzt, in einem anderen Browser kann sie am unteren Rand des <textarea>-Rahmens gesetzt sein. Verwenden Sie nicht vertical-align: baseline dafür; das Verhalten ist unvorhersehbar.
Steuerung, ob ein Textbereich skalierbar ist
In den meisten Browsern sind <textarea>s skalierbar — Sie bemerken den Ziehgriff in der rechten unteren Ecke, der verwendet werden kann, um die Größe des Elements auf der Seite zu ändern. Dies wird von der CSS-Eigenschaft resize gesteuert — das Skalieren ist standardmäßig aktiviert, aber Sie können es explizit mit einem resize-Wert von none deaktivieren:
textarea {
resize: none;
}
Styling von gültigen und ungültigen Werten
Gültige und ungültige Werte eines <textarea>-Elements (z.B. jene innerhalb und außerhalb der durch minlength, maxlength oder required festgelegten Grenzen) können mit den Pseudoklassen :valid und :invalid hervorgehoben werden. Zum Beispiel, um Ihrem Textbereich eine andere Umrandung zu geben, abhängig davon, ob er gültig oder ungültig ist:
textarea:invalid {
border: 2px dashed red;
}
textarea:valid {
border: 2px solid lime;
}
Beispiele
>Einfaches Beispiel
Das folgende Beispiel zeigt ein Textfeld mit einer festgelegten Anzahl von Zeilen und Spalten, einem Standardinhalt und CSS-Stilen, die verhindern, dass Benutzer das Element mehr als 500px breit und 130px hoch skalieren:
<textarea name="textarea" rows="5" cols="15">Write something here</textarea>
textarea {
max-height: 130px;
max-width: 500px;
}
Ergebnis
Beispiel mit "minlength" und "maxlength"
Dieses Beispiel hat eine minimale und maximale Anzahl von Zeichen — von 10 bzw. 20. Probieren Sie es aus und sehen Sie.
<textarea name="textarea" rows="5" cols="30" minlength="10" maxlength="20">
Write something here…
</textarea>
textarea {
max-height: 130px;
max-width: 500px;
}
Ergebnis
Beachten Sie, dass minlength den Benutzer nicht daran hindert, Zeichen zu entfernen, sodass die Anzahl der eingegebenen Zeichen unter das Minimum fällt, es macht jedoch den in das <textarea> eingegebenen Wert ungültig. Beachten Sie auch, dass ein leeres <textarea> trotz eingestelltem minlength-Wert (z. B. 3) als gültig betrachtet wird, es sei denn, Sie haben auch das required-Attribut gesetzt.
Beispiel mit "Platzhalter"
Dieses Beispiel hat einen Platzhalter gesetzt. Beachten Sie, wie er verschwindet, wenn Sie beginnen, in das Feld zu tippen.
<textarea
name="textarea"
rows="5"
cols="30"
placeholder="Comment text."></textarea>
textarea {
max-height: 130px;
max-width: 500px;
}
Ergebnis
Hinweis:
Platzhalter sollten nur verwendet werden, um ein Beispiel für die Art der Daten zu zeigen, die in ein Formular eingegeben werden sollten; sie sind keine Ersatz für ein richtiges <label>-Element, das mit der Eingabe verbunden ist. Sehen Sie sich <input> labels für eine vollständige Erklärung an.
Deaktivierte und nur lesbare Textbereiche
Dieses Beispiel zeigt zwei <textarea>s — eines ist readonly und eines ist disabled.
Sie können den Inhalt keines der Elemente bearbeiten, aber das readonly-Element ist fokussierbar und sein Wert wird in Formularen übermittelt.
Der Wert des disabled-Elements wird nicht übermittelt und es ist nicht fokussierbar.
<textarea name="textarea" rows="5" cols="30" readonly>
I am a read-only textarea.
</textarea>
<textarea name="textarea" rows="5" cols="30" disabled>
I am a disabled textarea.
</textarea>
textarea {
display: block;
resize: horizontal;
max-width: 500px;
}
Ergebnis
Technische Zusammenfassung
| Inhaltskategorien | Flussinhalt, Phrasierungsinhalt, Interaktiver Inhalt, aufgelistet, beschreibbar, zurücksetzbar und übermittelbar formularassoziiertes Element. |
|---|---|
| Zulässiger Inhalt | Text |
| Tag-Auslassung | Keine, sowohl das Start- als auch das End-Tag sind obligatorisch. |
| Erlaubte Eltern | Jedes Element, das Phrasierungsinhalt akzeptiert. |
| Implizite ARIA-Rolle |
textbox
|
| Erlaubte ARIA-Rollen | Keine role erlaubt |
| DOM-Schnittstelle | [`HTMLTextAreaElement`](/de/docs/Web/API/HTMLTextAreaElement) |
Spezifikationen
| Specification |
|---|
| HTML> # the-textarea-element> |
Browser-Kompatibilität
Loading…
Siehe auch
- Andere Formular-bezogene Elemente: