HTML5 Formulare: 4.2 Einzeilige Eingabefelder
Einzeilige Formularfelder bieten Ihnen die Möglichkeit mit dem User zu kommunizieren. Achten Sie dabei stets auf einen sinnvollen Einsatz von Formularen und nutzen Sie die passenden Elemente und Attribute!4.2.1 Anwendung
Mit einzeiligen Eingabefeldern können krurze Informationen, in Form von Freitexten, vom Nutzer abgefragt werden.
Die Möglichkeit von Fehleinträgen, sowie die mißbräuchliche Verwendung durch die Eingabe von HTML und JavaScript - Code ist zu bedenken!
4.2.2 Syntax
Einzeilige Formularfelder werden mit dem Standalone-Tag <input>
realisiert. Da wir uns bereits im Vorfeld mit
dem Aufbau von Formularen beschäftigt haben, beginnen wir gleich mit einem etwas komplexeren Beispiel. Die einzelnen Elemente und
Attribute werden anschließend besprochen.
Sehen Sie sich das folgende Listing etwas genauer an. Versuchen Sie die genutzten Attribute zu verstehen und achten Sie auf
den unterschiedlichen Gebrauch des label
Attributs und auf die Auswirkungen des value
bzw.
des placeholder
Attributs.
Schicken Sie dazu doch einfach einmal das Formular ab und interpretieren die vom Server empfangenden Daten.
<form action="zieladresse.php" method="post" name="formularname" target="_blank" autocomplete="off" novalidate> <fieldset> <legend>Absender</legend> <p> <label for="vorname">Vorname:</label><br /> <input id="vorname" name="vorname" type="text" size="40" maxlength="60" value="Vornamen ..."> </p> <p> <label>Nachname:<br /> <input name="nachname" type="text" size="40" maxlength="60" placeholder="Nachname ..."> </label> </p> <p> <input type="submit" value="Absenden"> <input type="reset" value="Zurücksetzen"> <p> </fieldset> </form>
4.2.3 Attribute
Die folgenden Attribute können angewendet werden ...
Mögliche Werte | Beschreibung |
---|---|
name: | Angabe vom Bezeichnernamen |
type: | Bestimmt den Feldtypen |
size: | Länge des Eingabefeldes |
maxlegth: | Maximale Anzahl der eintragbaren Zeichen |
value: | Vorbelegung für ein Eingabefeld |
placeholder: | Hinweis im Eingabefeld |
checked: | Vorbelegung für bestimmte Eingabefelder |
required: | Angabe von Pflichtfeldern |
pattern: | Stellt eine Anforderung an die eingegebenen Daten |
title: | Für zusätzliche Informationen an den Nutzer |
autofocus: | Fokus beim Laden der Seite setzen |
spellcheck: | Rechtschreibprüfung ein- / ausschalten |
autocapitalize: | Für iOS |
autocorrectur: | Für iOS |
Beschreibung der Attribute und deren Werte ...
- <name>
-
Bezeichnername, zusammen mit dem Wert des
value
Attributs, bzw. mit der Texteingabe im Formularfeld kann so ein Name-Wert-Paar an den Server übermittelt werden.<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname"> </label> </p> </fieldset> </form>
Syntax: name
AttributAnsicht im Browser: name
Attribut - <type>
-
Dient der Defenition des Feldtyps.
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text"> </label> </p> </fieldset> </form>
Syntax: type
AttributAnsicht im Browser: name
AttributMögliche Feldtypen
text
Dient der Eingabe von Text. Stellt ein einzeiliges Formularfeld zur Verfügung.
<input type="text">
Syntax Ansicht im Browser number
Zur Eingabe von nummerischen Werten. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur.
<input type="number">
Syntax Ansicht im Browser tel
Zur Eingabe einer Telefonnummer. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur.
<input type="tel">
Syntax Ansicht im Browser url
Zur Eingabe einer Internetadresse. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur.
<input type="url">
Syntax Ansicht im Browser date
Zur Eingabe eines Datums. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur.
<input type="date">
Syntax Ansicht im Browser time
Zur Eingabe einer Zeitangabe. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur.
<input type="time">
Syntax Ansicht im Browser email
Zur Eingabe einer E-Mail Adresse. Sorgt bei der Verwendung von mobilen Geräten zur Bereitstellung einer angepassten Tastatur. Praktisch ist auch das die Autovervollständigung angepasst wird!
<input type="email">
Syntax Ansicht im Browser password
Stellt eine verdeckte Eingabe zur Verfügung. Die Übertragung erfolgt allerdings im Klartext!
<input type="password">
Syntax Ansicht im Browser range
Stellt einen Schieberegler bereit. Der Schieberegler kann vom Nutzer bedient und zur Auswahl einer Zahl genutzt werden.
<input type="range">
Syntax Ansicht im Browser submit
Stellt einen Button zur Verfügung. Durch Aktivierung werden die Formularinhalte, an die im
action
Attribut des<form>
Elements angegebene Datei gesendet.Der folgende
submit
Button wurde mit demdisabled
Attribut deaktiviert!<input type="submit" disabled>
Syntax Ansicht im Browser reset
Stellt einen Butten zur Verfügung. Durch Aktivierung werden die Eingabefelder in den Ausgangszustand versetzt.
Der folgende
reset
Button wurde mit demdisabled
Attribut deaktiviert!<input type="reset" disabled>
Syntax Ansicht im Browser color
Zur Auswahl einer Farbe. Durch den Browser wird ein Auswahlfeld bereitgestellt.
<input type="color">
Syntax Ansicht im Browser Weitere
<input>
Feldtypen werden später beschrieben (Siehe auch: Checkboxen und Radiobutton)! - <size>
-
Bestimmt die Länge des Formularfelds. Die nummerische Angabe des Wertes ist dabei die Anzahl der Breite in Textzeichen.
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25"> </label> </p> </fieldset> </form>
Syntax: size
AttributAnsicht im Browser: size
Attribut - <maxlength>
-
Bestimmt die maximale Länge der eintragbaren Zeichen. Ist die Angabe größer als die Angabe im size Attribut wird automatisch gescrollt.
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100"> </label> </p> </fieldset> </form>
Syntax: maxlength
AttributAnsicht im Browser: maxlength
Attribut - <value>
-
Vorbelegung für ein Formularfeld. Wenn der Nutzer Nichts Neues in das Eingabefeld einträgt, wird diese Angabe als Wert dem
name
> Attribut zugeordnet und beim Absenden des Formulars an den Server übertragen.<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" value="Name"> </label> </p> </fieldset> </form>
Syntax: value
AttributAnsicht im Browser: value
Attribut - <placeholder>
-
Zeigt einen Hinweis auf dem Eingabefeld an. Sobald ein Zeichen in diesem Feld eingegeben wird, verschwindet der Hinweis. Bei einem -durch den Nutzer- unausgefüllten Feld wird dieser Wert nicht an den Server übertragen.
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..."> </label> </p> </fieldset> </form>
Syntax: placeholder
AttributAnsicht im Browser: placeholder
Attribut - <checked>
-
Vorbelegung für bestimmte Eingabefelder. Nährere Informiation finden Sie ...
<input ... checked>
Syntax: checked
Attribut - <required>
-
Besitzt ein Eingabefeld dieses Attribut, so handelt es sich um ein sog. Pflichtfeld. Dieses Feld muss vor der Übertragung an den Server ausgefüllt werden. Der Browser reagiert entsprechend beim Versuch das Formular unausgefüllt zu versenden.
Einfache Syntax
<input ... required>
Syntax: required
AttributZusätzlich zum
required
Attribut kann zur Validierung daspattern
und dastitle
Attribut genutzt werden, um eine bestimmte Eingabeform zu erzwingen.Sehen Sie sich das folgende Listing etwas genauer an. Testen Sie die Auswirkungen der Attribute (
required
,pattern
,title
) in dem Sie die folgenden Formulare mit diversen Daten füllen und absenden! Beobachten Sie das Zusammenspiel der Attribute!
Erweitertes Beispiel
<form action="zieladresse.php" method="post"> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..."> </label> </p> <p> <label for="kundennummer">Kundennummer: *</label><br /> <input id="kundennummer" name="kundennummer" type="text" size="15" maxlength="10" placeholder="Kundennummer" -> required="required"> </p> <p> <input type="submit"> <input type="reset"> </p> </fieldset> </form>
Syntax: required
AttributAnsicht im Browser: required
AttributSolange das Pflichtfeld nicht ausgefüllt ist, wird das Formular nicht übertragen!
- <pattern>
-
Mit Hilfe des
pattern
Attributs kann eine bestimmte Anforderung an die eingegebenen Daten gestellt werden. Solange die Anforderung nicht erfüllt ist, wird das Formular nicht abgesendet!
Beachte: Mögliche Typen für einen Vergleich mit dem
pattern
Attribut sind:- type="text"
- type="search"
- type="url"
- type="tel"
- type="email"
- type="password"
<form action="zieladresse.php" method="post"> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..."> </label> </p> <p> <label for="kundennummer">Kundennummer: *:<br /> <input id="kundennummer" name="kundennummer" type="text" size="25" maxlength="100" placeholder="Kundennummer" -> required="required" pattern="[0-9]{6}"> </p> <p> <input type="submit"> <input type="reset"> </p> </fieldset> </form>
Syntax: pattern
AttributAnsicht im Browser: pattern
AttributSolange die Anforderung nicht erfüllt ist, wird das Formular nicht abgesendet! Durch
pattern="[0-9]{6}"
werden 6 Ziffern zwischen 0 und 9 erwartet!Erwartete Eigabe Code Zahlen pattern="[0-9]{6}"
Text (8 Zeichen) nur Großbuchstaben pattern="[A-Z]{8}"
Text (min. 8 Zeichen) mit Groß- oder Kleinbuchstaben pattern="[A-z]{8,}"
Sonderzeichen (8 Zeichen) pattern="[\W]{8}"
Text (min. 8 Zeichen) mit Groß-, Kleinbuchstaben und Sonderzeichen pattern="(?=.{8,}$)(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*\W).*"
Wie Sie an dieser kurzen Übersicht bereits erkennen, gibt es eine Vielzahl an Kombinationsmöglichkeiten. Vor dem Einsatz sollten Sie sich genaustens über die richtige Verwendung informieren. Anschließend müssen Sie die Funktion überprüfen. Wenn eine Anforderung nicht zu erfüllen ist, ist es für den Nutzer schlichtweg unmöglich das Formular auszufüllen!
Wenn Sie im
type
Attribut den entsprechenden Feldtypen (z.B.email
) nutzen, dann benötigen Sie daspattern
Attribut nicht. - <title>
-
Mit dem
title
Attribut kann ein zusätzlicher Informationstext zum Ausfüllen des Feldes notiert werden.<form action="zieladresse.php" method="post"> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..."> </label> </p> <p> <label for="kundennummer">Kundennummer: *:<br /> <input id="kundennummer" name="kundennummer" type="text" size="25" maxlength="100" placeholder="Kundennummer" -> required="required" pattern="[0-9]{6}" title="Bitte 6 Zahle eingeben"> </p> <p> <input type="submit"> <input type="reset"> </p> </fieldset> </form>
Syntax: title
AttributAnsicht im Browser: title
Attribut - <autofocus>
-
Beim Laden der Seite wird der Fokus automatisch auf dieses Feld gesetzt. (Ist in diesem Beispiel nicht umgesetz!)
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..." autofocus="autofocus"> </label> </p> </fieldset> </form>
Syntax: autofocus
AttributAnsicht im Browser: autofocus
Attribut - <spellcheck>
-
Unterdrückt die Autokorrektur bei der Eingabe. Nützlich zum Beispiel bei der Eingabe von Namen.
<form> <fieldset> <legend>Meine Daten</legend> <p> <label for="nachname">Nachname:<br /> <input id="nachname" name="nachname" type="text" size="25" maxlength="100" placeholder="Namen eintragen ..." spellcheck="false"> </label> </p> </fieldset> </form>
Syntax: spellcheck
AttributAnsicht im Browser: spellcheck
Attribut - <autocapitalize>
-
Unterdrückt auf iOS Geräten die Umschalttaste.
<input autocapitalize="off">
Syntax: autocapitalize
Attribut - <autocorrectur>
-
Wieder für iOS Geräte, unterdrückt hier die Autokorrektur.
<input autocorrectur="off">
Syntax: autocorrectur Attribut