LU06b - Eingabefelder

Auf dieser Seite befassen wir uns mit input, textarea und label für die Eingabefelder unserer Formulare.

input

Siehe auch selfhtml - input

Das input-Element zeigt dem Benutzer ein einzeiliges Eingabefeld an. Es benötigt die Attribute:

input ist ein Standalone-Tag, welches kein schliessendes Tag benötigt.

...
  <input id='title' name='title' type='text'>
  <input id='title' name='title' type='text' />
...

Beide Varianten sind korrekt.

name

Der Name eines Eingabefeldes wird für die Übermittelung der Daten an den Server benötigt. Der Client sendet die Eingaben des Benutzers als Schlüssel/Wert-Paar (engl. key/value-pair) an den Server. Zum Beispiel: email=hans@must.er.

Durch den Schlüssel (bzw. Namen) email weiss der Server, um welches Attribut es geht.

type

Das type-Attribut legt die Art des Eingabefeldes fest. Dadurch wird einerseits das Aussehen des Feldes angepasst. Ausserdem kann der Browser anhand des Typs gültige von ungültigen Eingaben unterscheiden.

Unter selfhtml - input finden Sie eine Übersicht der verschiedenen Möglichkeiten für type. Falls Sie keinen oder einen ungültigen type angeben (was ich beides nicht empfehle), so wird type='text' angenommen.

Sonstige Attribute

Jenachdem welchen type Sie angeben, gibt es unterschiedliche weitere Attribute. Einige Attribute können Sie nutzen, um Regeln für gültige Eingaben zu definieren. Zum Beispiel:

Stöbern Sie in den Beschreibungen des input-Tags auf SelfHTML oder W3School um die verschiedenen Attribute kennenzulernen.

textarea

siehe auch selfhtml - textarea Das Element textarea zeigt ein mehrzeiliges Eingabefeld an. Wir bei input benötigen wir die Attribute

Zusätzlich können Sie über die Attribute cols und rows die Grösse der Anzeige in Spalten und Zeilen bestimmen.

label

selfhtml - label

Mit dem Element label ordnen wir den Eingabefeldern eine Beschriftung hinzu. Zu welchem Eingabefeld die Beschriftung gehört, legen wir über das Attribut for='…' fest.

...
  <form action='./index.php' method='post'>
    <label for='email'>Email</label>
    <input id='email' name='email_address' type='text' />
    ...
  </form>
...

Beachten Sie, dass der Wert for='email' im Label mit id='email' im Input übereinstimmen muss.


Kevin Maurizi, Marcel Suter