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
valueAttributs, 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: nameAttributAnsicht im Browser: nameAttribut - <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: typeAttributAnsicht im Browser: nameAttributMö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
actionAttribut des<form>Elements angegebene Datei gesendet.Der folgende
submitButton wurde mit demdisabledAttribut 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
resetButton wurde mit demdisabledAttribut 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: sizeAttributAnsicht im Browser: sizeAttribut - <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: maxlengthAttributAnsicht im Browser: maxlengthAttribut - <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: valueAttributAnsicht im Browser: valueAttribut - <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: placeholderAttributAnsicht im Browser: placeholderAttribut - <checked>
-
Vorbelegung für bestimmte Eingabefelder. Nährere Informiation finden Sie ...
<input ... checked>
Syntax: checkedAttribut - <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: requiredAttributZusätzlich zum
requiredAttribut kann zur Validierung daspatternund dastitleAttribut 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: requiredAttributAnsicht im Browser: requiredAttributSolange das Pflichtfeld nicht ausgefüllt ist, wird das Formular nicht übertragen!
- <pattern>
-
Mit Hilfe des
patternAttributs 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
patternAttribut 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: patternAttributAnsicht im Browser: patternAttributSolange 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
typeAttribut den entsprechenden Feldtypen (z.B.email) nutzen, dann benötigen Sie daspatternAttribut nicht. - <title>
-
Mit dem
titleAttribut 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: titleAttributAnsicht im Browser: titleAttribut - <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: autofocusAttributAnsicht im Browser: autofocusAttribut - <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: spellcheckAttributAnsicht im Browser: spellcheckAttribut - <autocapitalize>
-
Unterdrückt auf iOS Geräten die Umschalttaste.
<input autocapitalize="off">
Syntax: autocapitalizeAttribut - <autocorrectur>
-
Wieder für iOS Geräte, unterdrückt hier die Autokorrektur.
<input autocorrectur="off">
Syntax: autocorrectur Attribut