SELFHTML: HTML / Formulare / Mehrzeilige Eingabefelder
Description: (SELFHTML 7.0) Wie Sie in HTML-Formularen mehrzeilige Eingabefelder definieren
Keywords: SELFHTML, HTML, Formulare, Eingabefelder, mehrzeilige Eingabefelder, Textareas

SELFHTML/Quickbar HTML Formulare

| ## Mehrzeilige Eingabefelder
| Mehrzeilige Eingabefelder definieren Textvorbelegung bei mehrzeiligen Eingabefeldern Umbruch bei mehrzeiligen Eingabefeldern kontrollieren Eingabefelder auf "nur lesen" setzen Weitere Möglichkeiten

## Mehrzeilige Eingabefelder definieren

Anzeigebeispiel: So sieht's aus

Mehrzeilige Eingabefelder dienen zur Aufnahme von Kommentaren, Nachrichten usw.

### Beispiel:

    <p>Was halten Sie davon, da&szlig; es noch keinen HTML-Nobelpreis gibt:</p>
    <textarea name="HTML_Nobelpreis" rows=10 cols=50></textarea>

### Erläuterung:

`<textarea ...>` leitet ein mehrzeiliges Eingabefeld ein (textarea = Textbereich). Jedes mehrzeilige Eingabefeld muß einen internen Bezeichnernamen erhalten, und zwar mit der Angabe `name=`. Der Name sollte nicht zu lang sein und darf keine Leerzeichen und keine deutschen Umlaute enthalten. Verwenden Sie als Sonderzeichen höchstens den Unterstrich "_". Setzen Sie den Namen in Anführungszeichen.

Dahinter folgen zwei Angaben zur Anzeigegröße des Textfelds. `rows=` bestimmt die Anzahl der angezeigten Zeilen (rows = Zeilen), `cols=` die Anzahl der angezeigten Spalten (cols = columns = Spalten). "Spalten" bedeutet dabei die Anzahl Zeichen (pro Zeile).

Mit `</textarea>` schließen Sie das mehrzeilige Eingabefeld ab. Das End-Tag ist nötig und darf nicht weggelassen werden.

### Beachten Sie:

Die Angaben `rows=` und `cols=` bestimmen lediglich die Anzeigegröße des Eingabebereichs, nicht die Länge des erlaubten Textes. Die ist theoretisch unbegrenzt. WWW-Browser statten die mehrzeiligen Eingabefelder bei der Anzeige üblicherweise mit Scrollbalken aus, sodaß der Anwender bei längeren Eingaben scrollen kann.

Das `<textarea`-Tag erzeugt einen eigenen Absatz.

## Textvorbelegung bei mehrzeiligen Eingabefeldern

Anzeigebeispiel: So sieht's aus

Sie können ein mehrzeiliges Eingabefeld mit Inhalt vorbelegen.

### Beispiel:

    <p>Was halten Sie von der Vermicrosoftung des Internet:</p>
    <textarea name="Vermicrosoftung" rows=10 cols=50>
    Schreiben Sie sich Ihren Frust von der Seele!
    </textarea>

### Erläuterung:

Mehrzeilige Eingabefelder mit vorbelegtem Text werden wie gewöhnliche mehrzeilige Eingabefelder definiert. Die Textvorbelegung definieren Sie nach dem einleitenden `<textarea>`-Tag und vor dem abschließenden `</textarea>`.

## Umbruch bei mehrzeiligen Eingabefeldern kontrollieren

Anzeigebeispiel: So sieht's aus

Normalerweise erfolgt innerhalb mehrzeiliger Eingabefelder kein automatischer Zeilenumbruch, was auf viele Anwender, die moderne Eingabeformen kennen, irritierend wirkt. Es gibt jedoch eine Möglichkeit, einen automatischen Zeilenumbruch zu erzwingen.

### Beispiel 1:

    <p>Was halten Sie vom Schlagwort &quot;rechtsfreier Raum Internet&quot;:</p>
    <textarea name="RaumInternet" rows=10 cols=50 wrap=virtual></textarea>

### Beispiel 2:

    <p>Was halten Sie vom Gerede um Kinderpornos und Neonazis im Internet:</p>
    <textarea name="Gerede" rows=10 cols=50 wrap=physical></textarea>

### Erläuterung:

Mehrzeilige Eingabefelder mit Umbruchkontrolle werden wie gewöhnliche mehrzeilige Eingabefelder definiert. Mit dem Attribut `wrap=` können Sie den Zeilenumbruch steuern (wrap = Umbruch). Mit `wrap=virtual` bewirken Sie, daß der Text bei der Eingabe automatisch umgebrochen wird (virtual = scheinbar). Beim Absenden des Formulars werden jedoch keine Zeilenumbruchzeichen übertragen. Mit `wrap=physical` bewirken Sie ebenfalls, daß der Text bei der Eingabe automatisch umgebrochen wird (physical = tatsächlich). Die Zeilenumbruchzeichen werden beim Absenden des Formulars jedoch mit übertragen. Mit `wrap=off` stellen Sie den Zeilenumbruch aus (Voreinstellung).

### Beachten Sie:

Unverständlicherweise gehört dieser Befehl immer noch nicht zum HTML-Standard. Benutzen Sie ihn trotzdem.

## Eingabefelder auf "nur lesen" setzen

Anzeigebeispiel: So sieht's aus

Sie können erzwingen, daß ein "Eingabefeld" kein Eingabefeld mehr ist, sondern eigentlich nur ein Ausgabefeld. Das kann beispielsweise interessant sein, wenn Sie JavaScript-ermittelte Werte in einem Formularfeld ausgeben möchten.

### Beispiel:

    <textarea name="Output" rows=5 cols=50 readonly></textarea>

### Erläuterung:

Mit dem Attribut `readonly` können Sie ein mehrzeiliges Eingabefeld (`<textarea>`) auf "nur lesen" setzen.

### Beachten Sie:

Der MS Internet Explorer interpretiert diese Angabe seit Version 4.x, Netscape in der Version 4.x noch nicht.

## Weitere Möglichkeiten

Das `<textarea>`-Tag kann Universalattribute enthalten.

Es ist durchaus auch erlaubt, CSS Style-Sheets auf Formularelemente anzuwenden. Leider interpretiert Netscape solche Möglichkeiten in der Produktverion 4.x noch nicht. Der MS Internet Explorer 4.x interpretiert CSS Style-Sheets im Zusammenhang mit Formularelementen. Dazu müssen Sie zunächst wissen, wie man Style-Sheets definieren kann. Anschließend sind Sie in der Lage, Style-Sheet-Angaben anzuwenden. Auf das `<textarea>`-Tag können Sie beispielsweise folgende Style-Sheet-Angaben anwenden:
Schriftformatierung
Hintergrundfarben und -bilder
Elemente positionieren

weiter: | Auswahllisten und Menüstruktur
zurück: | Einzeilige Eingabefelder

SELFHTML/Quickbar HTML Formulare

© 1998 Stefan Münz, muenz@csi.com