HTML/Tutorials/Formulare/textarea
Text-Info
- 20min
- einfach
- Kenntnisse in
● HTML-Formulare
● CSS
Inhaltsverzeichnis
Folgende Attribute sind möglich:
-
name
: Für die weitere serverseitige Verarbeitung benötigen auch die Textareas ein name-Attribut.Hauptartikel: HTML/Tutorials/Formulare/Was ist ein Webformular? -
rows
bestimmt die Anzahl der angezeigten Zeilen (rows = Zeilen) und damit die Höhe -
cols
: bestimmt die Anzahl der angezeigten Spalten (cols = columns = Spalten)
„Spalten“ bedeutet dabei die Anzahl der Zeichen pro Zeile. -
wrap
-Attribut legt fest, ob Text umgebrochen werden soll. Mögliche Werte sind:-
hard
: -
soft
: Bei einem harten Zeilenumbruch werden durch den Browser Zeilenumbrüche generiert, sodass keine Zeile mehr Zeichen hat, als durch dascols
-Attribut vorgegeben. Sollten Sie alsowrap = "hard"
verwenden, istcols
ein Pflichtattribut.
-
rows
und cols
bestimmen lediglich die Anzeigegröße des Eingabebereichs, nicht die Länge des erlaubten Textes. Diese ist theoretisch unbegrenzt. Web-Browser statten die mehrzeiligen Eingabefelder bei der Anzeige üblicherweise mit Scrollbalken aus, sodass der Anwender bei längeren Eingaben scrollen kann.<h2>Ganz spontan</h2>
<p>Welche HTML-Elemente fallen Ihnen ein, was bewirken sie?<p>
<textarea></textarea>
Anwendungsbeispiele
Textvorbelegung bei mehrzeiligen Eingabebereichen
Sie können ein mehrzeiliges Eingabefeld mit Inhalt vorbelegen. Im Gegensatz zu den einzeiligen Eingabefeldern hat <textarea>
kein value
-Attribut. Um mehrzeilige Eingabefelder mit Text vorzubelegen, notieren Sie den gewünschten Text einfach als Elementinhalt zwischen den Tags <textarea>
und </textarea>
. Leerzeichen und Zeilenumbrüche im Quelltext werden als solche dargestellt.
<h1>Schreiben Sie eine Geschichte</h1>
<p>Hier der Anfang der Geschichte:</p>
<textarea cols="50" rows="10">Es war dunkel, feucht und neblig …</textarea>
Um den Besucher zur Texteingabe zu ermuntern, ist das Textfeld mit
cols="50"
50 Zeichen breit und rows="10"
10 Zeilen hoch.Gestaltung mit CSS
Sie können mehrzeilige Eingabefelder aber auch wie jedes andere Element mit CSS gestalten:
<textarea>Es war dunkel, feucht und neblig …</textarea>
textarea {
caret-color: red;
width: 60em;
height: 15em;
border: 1px solid #cccccc;
padding: 0.5em;
font-family: Tahoma, sans-serif;
}
textarea:focus {
background: #FFC;
}
<textarea>
keine weiteren HTML-Elemente erlaubt sind.Sämtliche Zeichen, die in HTML eine Sonderbedeutung haben, wie
<
, >
und &
, müssen zwingend als Entity <
, >
und &
geschrieben werden (siehe HTML/Tutorials/Code in HTML darstellen). Ebenso ist eine Formatierung einzelner Bereiche des Textes nicht möglich.
Eingabefelder und Eingabebereiche auf "nur lesen" setzen
Sie können erzwingen, dass der Inhalt eines Eingabefeldes nicht geändert werden kann, wenn Sie Felder mit einem Wert vorbelegen möchten, den der Anwender aber nicht ändern können soll oder eine bereits geprüfte Eingabe nicht mehr geändert werden darf.
<h1>Kein Rabatt und keine Gnade</h1>
<form>
<label>Preis: <input name="preis" type="text" size="8" value="€ 699.-" readonly></label>
<p>Lizenzvereinbarung:</p>
<textarea name="lizenz" cols="50" rows="10" readonly>Mit dem Absenden dieses Formulars erklären Sie sich mit folgenden Vereinbarungen einverstanden:
Sie erhalten …</textarea>
</form>
Mit dem Attribut readonly können Sie ein einzeiliges Eingabefeld oder einen mehrzeiligen Eingabebereich vor Veränderungen schützen.
Siehe auch
- contenteditable-Universalattribut, mit dem Sie einen eingeschränkt funktionierenden WYSIWYG-Editor nachbauen können.
- JavaScript/Tutorials/Formulare/WYSIWYG-Editor mit einem textarea-Element als Basis
Sie können seine Größe aber auch über Attribute oder über CSS festlegen.