Zusammengehörige Formularfelder können mit dem
fieldset-Element zu einer Gruppe zusammengefasst werden.
Das legend-Element gibt der Gruppe eine verständliche
Überschrift.
Eine Feldgruppe erstellen
Das fieldset-Element umschließt mehrere inhaltlich
zusammengehörige Formularfelder. Browser stellen diese Gruppe
normalerweise mit einem Rahmen dar.
Die Gruppenüberschrift hilft besonders bei der Bedienung mit
Screenreadern. Beim Erreichen eines Feldes kann dadurch auch der
Zusammenhang mit der gesamten Gruppe vermittelt werden.
Optionsfelder verständlich gruppieren
Bei einer Gruppe von Optionsfeldern beschreibt
legend die gemeinsame Frage. Die einzelnen
label-Elemente benennen die möglichen Antworten.
Ein einzelnes label für die gesamte Gruppe reicht nicht aus.
Die gemeinsame Frage gehört in legend; jede Antwort benötigt
zusätzlich ihr eigenes label.
Zusammengehörige Checkboxen gruppieren
Auch mehrere Checkboxen können mit fieldset und
legend als gemeinsame Auswahlgruppe ausgezeichnet werden.
Feldgruppen sollten nach ihrem Inhalt gebildet werden. Ein
fieldset nur zur Erzeugung eines Rahmens zu verwenden,
ist nicht sinnvoll.
Eine vollständige Feldgruppe deaktivieren
Mit dem booleschen Attribut disabled kann ein vollständiges
fieldset deaktiviert werden. Die darin enthaltenen
Formularfelder können dann normalerweise nicht bedient werden.
Die Felder eines deaktivierten fieldset-Elements werden
beim Absenden normalerweise nicht übertragen.
Feldgruppen verschachteln
fieldset-Elemente dürfen grundsätzlich ineinander
verschachtelt werden. Das kann bei umfangreichen Formularen sinnvoll sein,
sollte aber nur bei einer klaren inhaltlichen Unterteilung verwendet werden.
Zu viele verschachtelte Ebenen können ein Formular unübersichtlich machen.
Häufig sind mehrere nebeneinanderstehende Feldgruppen verständlicher.
Praxisbeispiel: Kursanmeldung
Die persönlichen Daten, die Kursauswahl und die zusätzlichen Unterlagen
bilden jeweils eine eigene, verständlich beschriftete Feldgruppe. Das
Absenden wird im Lernbeispiel verhindert; die HTML-Validierung kann
trotzdem ausprobiert werden.
Formularfelder außerhalb eines Formulars
Das form-Attribut
Ein Formularfeld muss nicht zwingend innerhalb des zugehörigen
form-Elements stehen. Mit dem form-Attribut kann es
einem Formular über dessen id eindeutig zugeordnet werden.
Ein Feld einem Formular zuordnen
Das form-Element erhält eine eindeutige id. Ein
außerhalb stehendes Formularfeld verweist mit seinem
form-Attribut auf diese ID.
Obwohl das E-Mail-Feld außerhalb des Formulars steht, gehört es zum Formular
mit der ID kontaktformular. Sein Wert wird beim Absenden dieses
Formulars mitübertragen.
Die Verknüpfung erfolgt über die ID
Der Wert des form-Attributs muss exakt mit der
id des gewünschten Formulars übereinstimmen.
Die Zuordnung erfolgt nicht über das name-Attribut des
Formulars, sondern ausschließlich über dessen id.
Eine ID darf innerhalb einer HTML-Seite nur einmal vorkommen. Dadurch bleibt
die Zuordnung eindeutig.
Ein zugeordnetes Feld ausprobieren
Das E-Mail-Feld und die Schaltfläche stehen außerhalb des
form-Elements. Durch
form="beispiel-registrierung" gehören sie trotzdem zu diesem
Formular. Auch das externe Pflichtfeld wird bei der HTML-Validierung geprüft.
Eine Schaltfläche einem Formular zuordnen
Auch eine Submit- oder Reset-Schaltfläche kann außerhalb des Formulars
angeordnet und mit dem form-Attribut zugeordnet werden.
Die Submit-Schaltfläche sendet das zugeordnete Formular ab. Die
Reset-Schaltfläche setzt die Felder dieses Formulars auf ihre ursprünglichen
Werte zurück.
Zwischen mehreren Formularen unterscheiden
Befinden sich mehrere Formulare auf einer Seite, kann jedes externe Feld
gezielt einem dieser Formulare zugeordnet werden.
Jedes Formularfeld kann mit dem form-Attribut nur einem
bestimmten Formular zugeordnet werden.
Elemente mit form-Attribut
Das form-Attribut kann bei verschiedenen Formularelementen
verwendet werden.
button
fieldset
input
object
output
select
textarea
Das label-Element wird weiterhin über sein
for-Attribut mit der ID des zugehörigen Formularfeldes
verbunden. Es verwendet dafür nicht das form-Attribut.
Ein fieldset einem Formular zuordnen
Auch ein fieldset kann außerhalb eines Formulars stehen und
über das form-Attribut einem Formular zugeordnet werden.
Wichtig: Die Zuordnung des fieldset-Elements wird nicht
automatisch auf seine enthaltenen Formularfelder übertragen. Die einzelnen
Felder benötigen gegebenenfalls ebenfalls ein passendes
form-Attribut.
Formulareigenschaften mit Schaltflächen überschreiben
Eine zugeordnete Submit-Schaltfläche kann einzelne Einstellungen des
Formulars für diesen Absendevorgang überschreiben.