HTML - Formular-Attribute
Häufige Formular-Attribute
action
Das action
-Attribut gibt die URL oder das serverseitige Skript an, das die Formularübermittlung verarbeitet. Wenn Sie das Formular absenden, werden die Formulardaten zur Verarbeitung an die angegebene URL oder das Skript gesendet. Der Wert des action
-Attributs kann eine absolute oder relative URL sein.
Beispiel: action-Attribut
<form action="/submit-form.php">
<!-- Formularelemente -->
</form>
Wenn Sie das Formular absenden, werden die Formulardaten zur Verarbeitung an das "/submit-form.php"-Skript auf dem Server gesendet.
method
Das method
-Attribut legt die HTTP-Methode fest, die für die Formularübermittlung verwendet wird. Die zwei häufigsten Werte sind GET und POST.
Methode | Beschreibung |
---|---|
GET | Die Formulardaten werden als Abfrageparameter an die im action -Attribut angegebene URL angehängt. Diese Methode eignet sich für einfache Formulare mit einer geringen Datenmenge. Die Formulardaten sind in der URL sichtbar und können mit Lesezeichen versehen oder geteilt werden. |
POST | Die Formulardaten werden im Hauptteil der HTTP-Anfrage gesendet. Diese Methode eignet sich für größere Formulare oder beim Senden sensibler Informationen, da die Daten nicht in der URL sichtbar sind. |
Beispiel: method-Attribut
<form action="/submit-form.php" method="POST">
<!-- Formularelemente -->
</form>
Die Formulardaten werden beim Absenden des Formulars mit der POST-Methode gesendet.
target
Das target
-Attribut gibt an, wo die Antwort nach der Formularübermittlung angezeigt werden soll. Es bestimmt das Zielfenster oder den Rahmen, in dem die Serverantwort geladen wird. Die möglichen Werte sind:
Wert | Beschreibung |
---|---|
_blank | Öffnet die Antwort in einem neuen Fenster oder Tab. |
_self | Öffnet die Antwort im selben Fenster oder Rahmen wie das Formular (Standardverhalten). |
_parent | Öffnet die Antwort im übergeordneten Rahmen des aktuellen Rahmens. |
_top | Öffnet die Antwort im gesamten Fenster und ersetzt alle vorhandenen Rahmen. |
Beispiel: target-Attribut
<form action="/submit-form.php" target="_blank">
<!-- Formularelemente -->
</form>
Wenn Sie das Formular absenden, wird die Serverantwort in einem neuen Fenster oder Tab geöffnet.
enctype
Das enctype
-Attribut gibt den Kodierungstyp für Formulardaten an, wenn die POST-Methode verwendet wird. Es zeigt an, wie die Formulardaten kodiert werden sollen, bevor sie an den Server gesendet werden. Die gängigen Werte sind:
Wert | Beschreibung |
---|---|
application/x-www-form-urlencoded | Dies ist der Standardwert. Er kodiert die Formulardaten als URL-kodierte Schlüssel-Wert-Paare. Leerzeichen werden durch "+" ersetzt und Sonderzeichen werden kodiert. |
multipart/form-data | Dieser Wert wird verwendet, wenn das Formular Datei-Uploads enthält. Er ermöglicht es, die Formulardaten in mehreren Teilen zu senden, einschließlich Dateidaten. |
Beispiel: enctype-Attribut
<form action="/submit-form.php" method="POST" enctype="multipart/form-data">
<!-- Formularelemente -->
</form>
Die Formulardaten werden mit dem Kodierungstyp "multipart/form-data" kodiert, was das Einbeziehen von Datei-Uploads in die Formularübermittlung ermöglicht.
Formular-Validierungsattribute
required
Das Attribut required
zeigt an, dass ein Formularfeld ausgefüllt werden muss, bevor das Formular abgesendet werden kann. Wenn Sie das Attribut required
zu einem Eingabefeld hinzufügen, prüft der Browser, ob das Feld einen Wert enthält, bevor er das Absenden des Formulars zulässt. Ist das Feld leer, zeigt der Browser eine Fehlermeldung an und verhindert das Absenden des Formulars.
Beispiel: required-Attribut
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<input type="submit" value="Absenden">
</form>
Das Feld "Name" ist als erforderlich markiert. Wenn Sie versuchen, das Formular abzusenden, ohne einen Wert in das Feld "Name" einzugeben, zeigt der Browser eine Fehlermeldung an und verhindert das Absenden des Formulars.
min und max
Die Attribute min
und max
legen die Mindest- und Höchstwerte für numerische Eingabefelder fest, wie z.B. number
, range
und date
Typen. Diese Attribute helfen Ihnen, Grenzen für die erlaubten Werte dieser Felder zu setzen.
Beispiel: min- und max-Attribute
<form>
<label for="quantity">Menge:</label>
<input type="number" id="quantity" name="quantity" min="1" max="10">
<input type="submit" value="Absenden">
</form>
Das Feld "Menge" hat einen Mindestwert von 1 und einen Höchstwert von 10. Wenn Sie versuchen, einen Wert außerhalb dieses Bereichs einzugeben, zeigt der Browser eine Fehlermeldung an, wenn Sie das Formular absenden.
minlength und maxlength
Die Attribute minlength
und maxlength
legen die minimale und maximale Anzahl von Zeichen fest, die in einem Texteingabefeld erlaubt sind. Diese Attribute helfen Ihnen, die Länge der Benutzereingabe zu kontrollieren.
Beispiel: minlength- und maxlength-Attribute
<form>
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username" minlength="4" maxlength="10">
<input type="submit" value="Absenden">
</form>
Das Feld "Benutzername" muss mindestens 4 Zeichen und darf höchstens 10 Zeichen haben. Wenn der eingegebene Wert diese Anforderungen nicht erfüllt, zeigt der Browser eine Fehlermeldung an, wenn Sie das Formular absenden.
pattern
Das Attribut pattern
legt ein reguläres Ausdrucksmuster fest, dem der Eingabewert entsprechen muss. Es ermöglicht Ihnen, ein Format oder Muster festzulegen, dem die Benutzereingabe folgen soll. Wenn der eingegebene Wert nicht dem Muster entspricht, zeigt der Browser eine Fehlermeldung an.
Beispiel: pattern-Attribut
<form>
<label for="phone">Telefonnummer:</label>
<input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}">
<input type="submit" value="Absenden">
</form>
Das Feld "Telefonnummer" hat ein Muster, das verlangt, dass die Eingabe im Format von drei Ziffern, gefolgt von einem Bindestrich, drei weiteren Ziffern, einem weiteren Bindestrich und vier Ziffern erfolgt (z.B. 123-456-7890). Wenn die eingegebene Telefonnummer nicht diesem Muster entspricht, zeigt der Browser eine Fehlermeldung an, wenn Sie das Formular absenden.
Barrierefreiheits-Attribute
autocomplete
Das Attribut autocomplete
zeigt an, ob eine automatische Vervollständigung für ein Formularfeld aktiviert oder deaktiviert sein soll. Die automatische Vervollständigung schlägt mögliche Werte basierend auf zuvor eingegebenen Werten für dasselbe Feld vor. Standardmäßig ist die automatische Vervollständigung für die meisten Formularfelder aktiviert. Sie können dieses Verhalten jedoch mithilfe des autocomplete
-Attributs steuern.
Die möglichen Werte für das autocomplete
-Attribut sind:
Wert | Beschreibung |
---|---|
on | Aktiviert die automatische Vervollständigung für das Formularfeld. |
off | Deaktiviert die automatische Vervollständigung für das Formularfeld. |
Beispiel: autocomplete-Attribut
<form>
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username" autocomplete="off">
<input type="submit" value="Absenden">
</form>
Das Feld "Benutzername" hat die automatische Vervollständigung deaktiviert. Der Browser wird für dieses Feld keine zuvor eingegebenen Werte vorschlagen.
readonly
Das Attribut readonly
gibt an, dass ein Formularfeld schreibgeschützt ist und vom Benutzer nicht geändert werden kann. Wenn Sie das Attribut readonly
zu einem Eingabefeld hinzufügen, kann der Benutzer den Wert des Feldes zwar sehen, aber nicht ändern. Der Wert des Feldes wird beim Absenden des Formulars mitgesendet.
Beispiel: readonly-Attribut
<form>
<label for="email">E-Mail:</label>
<input type="email" id="email" name="email" value="benutzer@beispiel.de" readonly>
<input type="submit" value="Absenden">
</form>
Das Feld "E-Mail" ist als schreibgeschützt markiert. Der Benutzer kann den Wert des Feldes nicht ändern, aber er wird in die Formularübermittlung einbezogen.
disabled
Das Attribut disabled
zeigt an, dass ein Formularfeld deaktiviert ist und vom Benutzer nicht verwendet werden kann. Wenn Sie das Attribut disabled
zu einem Eingabefeld hinzufügen, wird das Feld ausgegraut und nicht anklickbar. Der Wert des Feldes wird beim Absenden des Formulars nicht mitgesendet.
Beispiel: disabled-Attribut
<form>
<label for="country">Land:</label>
<select id="country" name="country" disabled>
<option value="DE">Deutschland</option>
<option value="AT">Österreich</option>
<option value="CH">Schweiz</option>
</select>
<input type="submit" value="Absenden">
</form>
Das Dropdown-Menü "Land" ist deaktiviert. Der Benutzer kann keinen Wert auswählen, und der Wert des Feldes wird nicht in die Formularübermittlung einbezogen.
Die Verwendung der Attribute readonly
und disabled
kann die Barrierefreiheit verbessern, indem sie den Benutzern visuelle Hinweise zur Interaktivität von Formularfeldern geben. Es ist wichtig, diese Attribute basierend auf den spezifischen Anforderungen Ihres Formulars korrekt zu verwenden.
Andere Formularattribute
accept-charset
Das Attribut accept-charset
gibt an, welche Zeichenkodierungen der Server für die Formularübermittlung akzeptiert. Es teilt dem Browser mit, welche Zeichenkodierungen der Server verarbeiten kann. Standardmäßig werden die Formulardaten mit der Zeichenkodierung der Seite gesendet, die das Formular enthält.
Beispiel: Zeichenkodierung im Formular
<form action="/submit-form.php" accept-charset="UTF-8">
<!-- Formularelemente -->
</form>
Die Formulardaten werden mit der UTF-8-Zeichenkodierung gesendet, wie durch das accept-charset
-Attribut festgelegt. Wenn der Server die angegebene Zeichenkodierung nicht unterstützt, kann er die Formulardaten möglicherweise nicht korrekt verarbeiten.
Es ist wichtig zu beachten, dass das accept-charset
-Attribut heutzutage selten verwendet wird, da die meisten Server standardmäßig so konfiguriert sind, dass sie die Zeichenkodierung der Seite verarbeiten können. Wenn Sie jedoch eine andere Zeichenkodierung für die Formularübermittlung angeben müssen, können Sie dieses Attribut verwenden.
novalidate
Das Attribut novalidate
zeigt an, dass das Formular beim Absenden nicht validiert werden soll. Standardmäßig führen HTML5-Formulare eine clientseitige Validierung durch, bevor die Formulardaten an den Server gesendet werden. Das novalidate
-Attribut umgeht diesen Validierungsschritt.
Beispiel: Formular ohne clientseitige Validierung
<form action="/submit-form.php" novalidate>
<label for="email">E-Mail:</label>
<input type="email" id="email" name="email">
<input type="submit" value="Absenden">
</form>
Wenn Sie das Formular absenden, führt der Browser keine clientseitige Validierung der Formularfelder durch. Die Formulardaten werden ohne Überprüfung auf gültige Eingaben an den Server gesendet.
Das novalidate
-Attribut ist nützlich in Situationen, in denen Sie die Formularvalidierung nur serverseitig durchführen möchten oder wenn Sie Ihre eigene benutzerdefinierte Validierungslogik mit JavaScript implementiert haben.
Beachten Sie, dass die Verwendung des novalidate
-Attributs nicht bedeutet, dass Sie die Formularvalidierung komplett überspringen sollten. Es ist nach wie vor wichtig, eine serverseitige Validierung durchzuführen, um sicherzustellen, dass die übermittelten Daten gültig und sicher zu verarbeiten sind. Die clientseitige Validierung ist eine zusätzliche Validierungsebene, die hilft, Eingabefehler frühzeitig zu erkennen und Serverressourcen zu sparen.
Durch die angemessene Verwendung der Attribute accept-charset
und novalidate
können Sie die Zeichenkodierung und das Validierungsverhalten Ihrer HTML-Formulare steuern, um den Anforderungen Ihrer Anwendung gerecht zu werden.