HTML - Formularelemente
Arten von Formular-Steuerelementen
HTML bietet verschiedene Arten von Formular-Steuerelementen, mit denen Benutzer mit Webformularen interagieren und Daten eingeben können. Betrachten wir die verschiedenen verfügbaren Arten von Formular-Steuerelementen.
Eingabefelder
Eingabefelder sind die häufigste Art von Formular-Steuerelementen. Sie ermöglichen Benutzern die Eingabe verschiedener Datentypen wie Text, Zahlen und Daten. Hier sind einige häufig verwendete Eingabefelder:
Eingabefeldtyp | Beschreibung | HTML-Element |
---|---|---|
Text | Wird für die Eingabe von Klartext verwendet, wie Namen, Adressen oder Kommentare | html <input type="text"> |
Passwort | Ähnlich wie Texteingabefelder, aber die eingegebenen Zeichen werden aus Sicherheitsgründen maskiert | html <input type="password"> |
Speziell für die Eingabe von E-Mail-Adressen konzipiert, mit grundlegender Validierung zur Überprüfung des "@"-Symbols und eines Domainnamens | html <input type="email"> |
|
Zahl | Wird für die Eingabe von numerischen Werten verwendet, oft mit integrierter Validierung, um die Eingabe auf Zahlen zu beschränken | html <input type="number"> |
Datum | Ermöglicht Benutzern die Eingabe von Daten mithilfe eines Datumsauswahl-Tools oder durch manuelles Eingeben des Datums | html <input type="date"> |
Kontrollkästchen und Optionsfelder
Kontrollkästchen und Optionsfelder werden verwendet, wenn Benutzer eine oder mehrere Optionen aus einer Gruppe von Auswahlmöglichkeiten auswählen müssen.
Steuerelementtyp | Beschreibung | HTML-Element |
---|---|---|
Kontrollkästchen | Ermöglicht Benutzern, mehrere Optionen aus einer Gruppe auszuwählen, jedes Kontrollkästchen funktioniert unabhängig | html <input type="checkbox"> |
Optionsfeld | Wird verwendet, wenn Benutzer eine einzelne Option aus einer Gruppe sich gegenseitig ausschließender Möglichkeiten auswählen müssen. Optionsfelder mit demselben name -Attribut werden gruppiert |
html <input type="radio"> |
Dropdown-Listen und Auswahlfelder
Dropdown-Listen und Auswahlfelder bieten Benutzern die Möglichkeit, eine oder mehrere Optionen aus einer vordefinierten Liste auszuwählen.
Steuerelementtyp | Beschreibung | HTML-Element |
---|---|---|
Auswahlfeld | Zeigt eine Liste von Optionen an, aus denen Benutzer eine auswählen können. Optionen werden mit <option> -Elementen innerhalb des <select> -Elements definiert |
html <select> |
Optionsgruppe | Wird verwendet, um verwandte Optionen innerhalb einer Dropdown-Liste zu gruppieren. Bietet eine Möglichkeit, Optionen zu kategorisieren und die Lesbarkeit zu verbessern | html <optgroup> |
Mehrfachauswahl | Durch Hinzufügen des multiple -Attributs zum <select> -Element können Benutzer mehrere Optionen aus der Liste auswählen, indem sie die Strg-Taste (Windows) oder Befehlstaste (Mac) gedrückt halten, während sie auf die gewünschten Optionen klicken |
html <select multiple> |
Schaltflächen
Schaltflächen werden verwendet, um Aktionen auszulösen oder Formulare abzusenden.
Schaltflächentyp | Beschreibung | HTML-Element |
---|---|---|
Absenden | Wird verwendet, um Formulardaten zur Verarbeitung an den Server zu senden | html <input type="submit"> oder html <button type="submit"> |
Zurücksetzen | Wird verwendet, um die Formularfelder auf ihre Standardwerte zurückzusetzen | html <input type="reset"> oder html <button type="reset"> |
Schaltfläche | Kann verwendet werden, um anklickbare Schaltflächen zu erstellen, die benutzerdefinierte Aktionen mit JavaScript ausführen können | html <button> |
Textbereiche
Textbereiche werden für die Eingabe von mehrzeiligem Text verwendet.
Steuerelementtyp | Beschreibung | HTML-Element |
---|---|---|
Textbereich | Bietet einen größeren Eingabebereich für Benutzer, um mehrere Textzeilen einzugeben, wie Kommentare oder Beschreibungen | html <textarea> |
Die Attribute rows
und cols
können verwendet werden, um die anfänglichen Abmessungen des Textbereichs festzulegen. Das Attribut rows
legt die Anzahl der sichtbaren Textzeilen fest, während das Attribut cols
die durchschnittliche Zeichenbreite festlegt. Textbereiche sind standardmäßig in der Größe veränderbar, sodass Benutzer die Größe des Eingabebereichs anpassen können. Das Größenänderungsverhalten kann mit CSS-Eigenschaften wie resize
gesteuert werden.
Beschriftung von Formular-Steuerelementen
Die Beschriftung von Formular-Steuerelementen ist ein wichtiger Teil der Erstellung benutzerfreundlicher und barrierefreier Formulare in HTML. Beschriftungen geben eine klare Beschreibung des Zwecks jedes Formular-Steuerelements und erleichtern so das Verständnis und die Interaktion mit dem Formular.
Label-Elemente
Das <label>
-Element wird verwendet, um eine Beschriftung für ein Formular-Steuerelement zu erstellen. Es bietet eine Textbeschreibung, die einem bestimmten Formular-Steuerelement wie einem Eingabefeld, einer Checkbox oder einem Radiobutton zugeordnet ist. Der Beschriftungstext hilft Ihnen, den Zweck des Formular-Steuerelements zu verstehen und welche Informationen Sie eingeben oder auswählen sollten.
Beispiel: Verwendung des <label>
-Elements
<label for="name">Name:</label>
<input type="text" id="name" name="name">
In diesem Beispiel wird das <label>
-Element verwendet, um eine Beschriftung für das Texteingabefeld zu erstellen. Das for
-Attribut des <label>
-Elements wird auf das id
-Attribut des zugehörigen Formular-Steuerelements gesetzt, wodurch eine Verbindung zwischen der Beschriftung und dem Eingabefeld hergestellt wird.
Verknüpfung von Beschriftungen mit Formular-Steuerelementen
Um eine Beschriftung mit einem Formular-Steuerelement zu verknüpfen, können Sie das for
-Attribut des <label>
-Elements verwenden. Der Wert des for
-Attributs sollte mit dem id
-Attribut des entsprechenden Formular-Steuerelements übereinstimmen. Dies schafft eine logische Verbindung zwischen der Beschriftung und dem Formular-Steuerelement, sodass Sie auf die Beschriftung klicken können, um den Fokus auf das zugehörige Steuerelement zu setzen.
Beispiel: Verknüpfung einer Beschriftung mit einer Checkbox
<input type="checkbox" id="terms" name="terms">
<label for="terms">Ich stimme den Geschäftsbedingungen zu</label>
In diesem Fall wird durch Klicken auf den Beschriftungstext "Ich stimme den Geschäftsbedingungen zu" der Status der zugehörigen Checkbox umgeschaltet.
Bedeutung der Beschriftung für die Barrierefreiheit
Die Beschriftung von Formular-Steuerelementen ist wichtig für die Barrierefreiheit. Sie hilft Ihnen, den Zweck und Kontext jedes Formular-Steuerelements zu verstehen, wenn Sie unterstützende Technologien wie Screenreader verwenden. Wenn eine Beschriftung richtig mit einem Formular-Steuerelement verknüpft ist, können unterstützende Technologien den Beschriftungstext an Sie übermitteln, was die Navigation und Interaktion mit dem Formular erleichtert.
Zusätzlich zum for
-Attribut können Sie das Formular-Steuerelement auch in das <label>
-Element einbetten. Dies verknüpft die Beschriftung implizit mit dem eingebetteten Steuerelement, auch ohne Verwendung des for
-Attributs. Die Verwendung des for
-Attributs gilt jedoch weiterhin als bewährte Praxis für eine explizite Verknüpfung.
Beispiel: Einbettung eines Radiobuttons in eine Beschriftung
<label>
<input type="radio" name="gender" value="male"> Männlich
</label>
<label>
<input type="radio" name="gender" value="female"> Weiblich
</label>
Durch die richtige Beschriftung von Formular-Steuerelementen machen Sie Ihre Formulare für alle Benutzer, einschließlich derer, die auf unterstützende Technologien angewiesen sind, barrierefreier und benutzerfreundlicher.
Gruppierung von Formular-Steuerelementen
Bei der Erstellung komplexer Formulare mit mehreren zusammenhängenden Steuerelementen kann es hilfreich sein, diese zu gruppieren, um eine bessere Organisation und Übersichtlichkeit zu erreichen. HTML bietet die Elemente <fieldset>
und <legend>
, um verwandte Formular-Steuerelemente zu gruppieren und zu beschriften.
Fieldset-Elemente
Das <fieldset>
-Element gruppiert zusammengehörige Formular-Steuerelemente innerhalb eines Formulars. Es erzeugt eine visuelle und logische Gruppierung von Steuerelementen, wodurch das Formular strukturierter und verständlicher wird. Das <fieldset>
-Element enthält die gruppierten Steuerelemente und kann auch eine Überschrift oder Beschriftung für die Gruppe mithilfe des <legend>
-Elements einschließen.
Beispiel: Kontaktinformationen
<form>
<fieldset>
<legend>Kontaktinformationen</legend>
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br>
<label for="email">E-Mail:</label>
<input type="email" id="email" name="email"><br>
<label for="phone">Telefon:</label>
<input type="tel" id="phone" name="phone">
</fieldset>
</form>
Legend-Elemente
Das <legend>
-Element bietet eine Überschrift oder Beschriftung für ein <fieldset>
. Es erscheint als Überschrift innerhalb des Fieldsets und beschreibt die gruppierten Formular-Steuerelemente. Das <legend>
-Element sollte das erste untergeordnete Element des <fieldset>
-Elements sein.
Beispiel: Lieferadresse
<fieldset>
<legend>Lieferadresse</legend>
<label for="address">Adresse:</label>
<input type="text" id="address" name="address"><br>
<label for="city">Stadt:</label>
<input type="text" id="city" name="city"><br>
<label for="zip">Postleitzahl:</label>
<input type="text" id="zip" name="zip">
</fieldset>
Gruppierung verwandter Formular-Steuerelemente
Bei der Gruppierung von Formular-Steuerelementen mit <fieldset>
sollten Sie die logische Beziehung zwischen den Steuerelementen berücksichtigen. Gruppieren Sie Steuerelemente, die eng miteinander verbunden sind oder zur gleichen Kategorie gehören. Dies hilft, das Formular zu organisieren und erleichtert Benutzern das Verständnis und Ausfüllen.
Einige gängige Beispiele für die Gruppierung verwandter Formular-Steuerelemente sind:
Gruppe | Verwandte Steuerelemente |
---|---|
Persönliche Daten | Name, E-Mail, Telefon |
Adressdetails | Straße, Stadt, Bundesland, Postleitzahl |
Zahlungsinformationen | Kreditkartennummer, Ablaufdatum, Prüfnummer |
Versandoptionen | Liefermethode, Lieferadresse |
Durch die Gruppierung verwandter Formular-Steuerelemente mit <fieldset>
und die Bereitstellung klarer Beschriftungen mit <legend>
verbessern Sie die Benutzerfreundlichkeit und Lesbarkeit Ihrer Formulare. Es führt Benutzer durch das Formular und erleichtert das Verständnis der erforderlichen Informationen.
Denken Sie daran, für jedes Formular-Steuerelement innerhalb des Fieldsets geeignete Beschriftungen zu verwenden, um die Zugänglichkeit und Benutzerfreundlichkeit zu gewährleisten.
Formular-Steuerelemente-Attribute
HTML bietet mehrere Attribute, die verwendet werden können, um Funktionalität und Verhalten zu Formular-Steuerelementen hinzuzufügen. Diese Attribute ermöglichen es, zusätzliche Eigenschaften und Einschränkungen für Formular-Steuerelemente festzulegen, wodurch die Benutzererfahrung und Datenvalidierung verbessert werden. Lassen Sie uns einige häufig verwendete Attribute für Formular-Steuerelemente betrachten.
Required-Attribut
Das required
-Attribut wird verwendet, um anzuzeigen, dass ein Formular-Steuerelement ausgefüllt werden muss, bevor das Formular abgesendet werden kann. Wenn ein Formular-Steuerelement das required
-Attribut hat, verhindert der Browser das Absenden des Formulars, wenn das Steuerelement leer gelassen wird oder die angegebenen Validierungskriterien nicht erfüllt.
Beispiel: Required-Attribut
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
In diesem Beispiel ist das Texteingabefeld für den Namen als erforderlich markiert. Wenn Sie versuchen, das Formular abzusenden, ohne einen Wert in dieses Feld einzugeben, wird der Browser eine Fehlermeldung anzeigen und das Absenden des Formulars verhindern, bis ein Wert angegeben wird.
Disabled-Attribut
Das disabled
-Attribut wird verwendet, um ein Formular-Steuerelement zu deaktivieren, sodass es nicht interaktiv und nicht bearbeitbar ist. Deaktivierte Formular-Steuerelemente sind normalerweise ausgegraut und können nicht fokussiert, angeklickt oder von Ihnen geändert werden.
Beispiel: Disabled-Attribut
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username" disabled>
In diesem Fall ist das Texteingabefeld für den Benutzernamen deaktiviert. Sie können nicht mit diesem Feld interagieren oder seinen Wert ändern.
Deaktivierte Formular-Steuerelemente werden beim Absenden des Formulars nicht als Teil der Formulardaten übermittelt. Sie werden bei der Formularverarbeitung übersprungen.
Readonly-Attribut
Das readonly
-Attribut wird verwendet, um ein Formular-Steuerelement schreibgeschützt zu machen, was bedeutet, dass Sie seinen Wert sehen, aber nicht ändern können. Schreibgeschützte Formular-Steuerelemente können weiterhin fokussiert werden und werden beim Absenden des Formulars einbezogen.
Beispiel: Readonly-Attribut
<label for="email">E-Mail:</label>
<input type="email" id="email" name="email" value="benutzer@beispiel.de" readonly>
In diesem Beispiel ist das E-Mail-Eingabefeld als schreibgeschützt markiert. Sie können den vorausgefüllten Wert sehen, können ihn aber nicht bearbeiten.
Schreibgeschützte Formular-Steuerelemente sind nützlich, wenn Sie vorausgefüllte oder berechnete Werte anzeigen möchten, die von Ihnen nicht geändert werden sollen.
Placeholder-Attribut
Das placeholder
-Attribut wird verwendet, um einen Hinweis oder Beispieltext in einem Formular-Steuerelement anzuzeigen, wenn es leer ist. Der Platzhaltertext verschwindet, wenn Sie zu tippen beginnen oder das Formular-Steuerelement den Fokus erhält.
Beispiel: Placeholder-Attribut
<label for="search">Suche:</label>
<input type="text" id="search" name="search" placeholder="Suchbegriff eingeben...">
In diesem Fall hat das Texteingabefeld für die Suche den Platzhaltertext "Suchbegriff eingeben...". Dieser Text wird im Eingabefeld angezeigt, wenn es leer ist, und bietet Ihnen einen visuellen Hinweis auf die erwartete Eingabe.
Platzhalter sollten als ergänzender Hinweis verwendet werden und sollten nicht die ordnungsgemäße Beschriftung von Formular-Steuerelementen ersetzen. Sie sind hilfreich, um zusätzliche Anleitungen oder Beispiele zu geben, sollten aber nicht als einzige Möglichkeit zur Vermittlung des Zwecks eines Formular-Steuerelements verwendet werden.
Formularvalidierung
Die Formularvalidierung prüft Benutzereingaben, um sicherzustellen, dass sie dem erwarteten Format entsprechen, Kriterien erfüllen und frei von Fehlern oder schädlichen Daten sind. Sie ist ein wichtiger Teil des Webformular-Designs und trägt zur Datenintegrität und Sicherheit bei. HTML bietet integrierte Funktionen zur Formularvalidierung, die Benutzereingaben clientseitig überprüfen können, bevor das Formular an den Server gesendet wird.
Die clientseitige Validierung findet im Browser des Benutzers statt. Sie verwendet HTML-Formularvalidierungsattribute und JavaScript, um die Formulardaten zu prüfen, bevor sie an den Server gesendet werden. Die clientseitige Validierung gibt Benutzern sofort Rückmeldung zu Fehlern oder Problemen bei ihrer Eingabe und ermöglicht ihnen, die Daten vor dem Absenden des Formulars zu korrigieren. Dies verbessert die Benutzererfahrung und reduziert die Serverlast, indem häufige Fehler frühzeitig erkannt werden.
Allerdings reicht die clientseitige Validierung allein nicht aus. Sie kann von Benutzern umgangen oder manipuliert werden. Eine serverseitige Validierung ist ebenfalls notwendig, um sicherzustellen, dass die übermittelten Daten gültig und sicher sind. Die serverseitige Validierung findet auf dem Server statt, nachdem das Formular abgesendet wurde. Sie überprüft die Formulardaten erneut und führt gründlichere Validierungen durch, wie z.B. Abgleiche mit einer Datenbank oder die Anwendung komplexer Geschäftsregeln.
HTML bietet mehrere Validierungsattribute, die zu Formularsteuerelementen hinzugefügt werden können, um Validierungsregeln festzulegen:
Attribut | Beschreibung |
---|---|
required |
Gibt an, dass ein Formularsteuerelement ausgefüllt werden muss, bevor das Formular abgesendet werden kann |
pattern |
Gibt ein reguläres Ausdrucksmuster an, dem der Wert des Formularsteuerelements entsprechen muss |
min und max |
Geben die Minimal- und Maximalwerte für numerische Formularsteuerelemente an |
minlength und maxlength |
Geben die minimale und maximale Länge des Eingabewerts an |
step |
Gibt die zulässigen Zahlenintervalle für numerische Formularsteuerelemente an |
Beispiel: Verwendung von Validierungsattributen
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username" required minlength="4" maxlength="20">
<label for="email">E-Mail:</label>
<input type="email" id="email" name="email" required>
<label for="age">Alter:</label>
<input type="number" id="age" name="age" min="18" max="120">
Das Eingabefeld für den Benutzernamen ist erforderlich und muss eine Länge zwischen 4 und 20 Zeichen haben. Das E-Mail-Eingabefeld ist erforderlich und muss eine gültige E-Mail-Adresse sein. Das Alters-Eingabefeld muss eine Zahl zwischen 18 und 120 sein.
Wenn ein Formular abgesendet wird, überprüft der Browser die Formularsteuerelemente anhand der angegebenen Validierungsregeln. Werden Regeln nicht eingehalten, zeigt der Browser eine Fehlermeldung an und stoppt das Absenden des Formulars. Benutzer können dann ihre Eingabe korrigieren und das Formular erneut absenden.
Zusätzlich zu den integrierten HTML-Validierungsattributen können Sie auch JavaScript verwenden, um komplexere Validierungen oder benutzerdefinierte Fehlerbehandlungen durchzuführen. JavaScript kann auf Formularsteuerelemente zugreifen, deren Werte überprüfen und benutzerdefinierte Fehlermeldungen anzeigen oder zusätzliche Validierungslogik ausführen.
Denken Sie daran, dass die clientseitige Validierung zwar die Benutzererfahrung verbessert und häufige Fehler abfängt, sie sollte jedoch immer mit einer serverseitigen Validierung kombiniert werden, um die Sicherheit und Integrität der übermittelten Daten zu gewährleisten.
Styling von Formularsteuerelementen
Formularsteuerelemente können mit CSS gestaltet werden, um ihr Aussehen zu verbessern und an das Design Ihrer Website anzupassen. CSS ermöglicht es Ihnen, das Erscheinungsbild von Formularsteuerelementen zu ändern, um sie optisch ansprechend und konsistent mit dem Branding Ihrer Website zu gestalten. Hier sind einige Möglichkeiten, Formularsteuerelemente mit CSS zu stylen.
Anwendung von CSS auf Formularsteuerelemente
Um CSS-Stile auf Formularsteuerelemente anzuwenden, können Sie CSS-Selektoren verwenden, um bestimmte Formularelemente anzusprechen. Sie können Formularsteuerelemente basierend auf ihrem Typ, ihrer Klasse, ID oder anderen Attributen auswählen. Hier sind einige Beispiele für CSS-Selektoren für Formularsteuerelemente:
Beispiel: CSS-Selektoren für Formularsteuerelemente
/* Auswahl aller Input-Elemente */
input {
/* CSS-Stile */
}
/* Auswahl eines bestimmten Input-Typs */
input[type="text"] {
/* CSS-Stile */
}
/* Auswahl eines Formularsteuerelements mit einer bestimmten Klasse */
.form-control {
/* CSS-Stile */
}
/* Auswahl eines Formularsteuerelements mit einer bestimmten ID */
#username {
/* CSS-Stile */
}
Nachdem Sie die Formularsteuerelemente ausgewählt haben, können Sie verschiedene CSS-Eigenschaften anwenden, um sie zu gestalten. Einige gängige CSS-Eigenschaften für die Gestaltung von Formularsteuerelementen sind:
CSS-Eigenschaft | Beschreibung |
---|---|
width und height |
Legen die Größe des Formularsteuerelements fest |
padding |
Fügt Abstand innerhalb des Formularsteuerelements hinzu |
border |
Legt den Rahmenstil, die Breite und die Farbe fest |
background-color |
Legt die Hintergrundfarbe des Formularsteuerelements fest |
color |
Legt die Textfarbe innerhalb des Formularsteuerelements fest |
font-family und font-size |
Legen die Schriftart und -größe für den Text des Formularsteuerelements fest |
Beispiel: Styling von Input-Elementen
input[type="text"] {
width: 200px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
}
Pseudo-Klassen für Formularsteuerelementzustände
CSS bietet Pseudo-Klassen, mit denen Sie Formularsteuerelemente basierend auf ihren Zuständen gestalten können. Pseudo-Klassen sind Schlüsselwörter, die Selektoren hinzugefügt werden, um einen speziellen Zustand eines Elements anzugeben. Einige häufig verwendete Pseudo-Klassen für Formularsteuerelemente sind:
Pseudo-Klasse | Beschreibung |
---|---|
:focus |
Wendet Stile an, wenn das Formularsteuerelement den Fokus hat (interagiert wird) |
:valid |
Wendet Stile an, wenn der Wert des Formularsteuerelements gemäß seinen Validierungsregeln gültig ist |
:invalid |
Wendet Stile an, wenn der Wert des Formularsteuerelements gemäß seinen Validierungsregeln ungültig ist |
:disabled |
Wendet Stile an, wenn das Formularsteuerelement deaktiviert ist |
:read-only |
Wendet Stile an, wenn das Formularsteuerelement schreibgeschützt ist |
Beispiel: Pseudo-Klassen für Formularsteuerelemente
input[type="text"]:focus {
outline: none;
border-color: blue;
}
input[type="email"]:valid {
border-color: green;
}
input[type="number"]:invalid {
border-color: red;
}
input[type="text"]:disabled {
background-color: #eee;
cursor: not-allowed;
}
Anpassung des Erscheinungsbildes von Formularsteuerelementen
CSS ermöglicht es Ihnen, das Aussehen von Formularsteuerelementen über die Standard-Browser-Stile hinaus zu ändern. Sie können CSS-Eigenschaften und -Techniken verwenden, um visuell ansprechende und einzigartige Formularsteuerelemente zu erstellen, die zum Design Ihrer Website passen.
Beispiel: Benutzerdefiniertes Checkbox-Design
input[type="checkbox"] {
appearance: none;
width: 20px;
height: 20px;
border: 2px solid #ccc;
border-radius: 4px;
background-color: #fff;
transition: background-color 0.3s;
}
input[type="checkbox"]:checked {
background-color: #007bff;
border-color: #007bff;
}
select {
width: 200px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
background-color: #fff;
appearance: none;
background-image: url("arrow-down.svg");
background-repeat: no-repeat;
background-position: right 10px center;
}
select:focus {
outline: none;
border-color: blue;
}