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">
E-Mail 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">

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;
}