HTML Formulare - Arbeiten mit Fieldset, legend und label

Original veröffentlicht unter “fieldset, legend and label” auf der Seite Quirksmode.org.Der Autor ist Peter Paul Koch.

Immer noch zu selten trifft man heute im Internet auf benutzerfreundliche Formulare, stattdessen ganze Landschaften von durcheinander gewürfelte Input felder, Textbeschreibung, Popuplinks für Hinweise und tonnenweise von Tables, um die Formfelder richtig zu positionieren.

In diesem Beitrag möchte ich die grundlegende Möglichkeiten, gegeben durch die HTML elemente

, und vorstellen, die eigentlich jeder Webentwickler auch anwenden sollte.

 

Erstmal ein stück Code, wie jeder sie kennt und so siehts aus


 

Nun die Version mit fieldset, legend und label so siehts aus, mit ein wenig css

 


HTML:


  1.  

  2.     ein formular

  3.     for=“name”>Name: *

  4.     name=“name” id=“name” type=“text”/>

  5.     for=“fname”>Vorname: *

  6.     name=“fname” id=“fname” type=“text”/>

  7.     for=“phone”>Telefonnummer: *

  8.     name=“phone” id=“phone” type=“text”/>

  9.     for=“fax”>Fax: *

  10.     name=“fax” id=“fax” type=“text”/>

  11.     for=“payment”>Zahlung per: *

  12.     name=“payment” id=“payment”>

  13.       value=“amex”>AMEX

  14.       value=“visa”>VISA

  15.    

  16.     for=“cardnr”>Kreditkartennummer: *

  17.     name=“cardnr” id=“cardnr” type=“text”/>

  18.  


  •  

    Gehen wir mal alles Schritt für Schritt durch:


    Ein Block level element mit Inhalt. Standardmäßig mit einem sichtbaren Rand um den Block dargestellt.

    Die Erklärung des zugehörigen Fieldsets. Standardmäßig wird sie linksoben in der Ecke dargestellt, den Rand des Fieldsets überlappend. In Opera und Konqueror wird sie jedoch innerhalb des Fieldsets dargestellt.

    Das Element sollte das erste innerhalb eines fieldsets sein, da es sonst zu Problemen auf IE kommen kann.

    So siehts aus:



    testform

    testinhalt testinhalt testinhalt


    Der sichtbarer Rand, wenn nicht extra durch CSS definiert, ist im IE vom Typ “groove“, in den anderen Browsern vom Typ “solid“. Die explizite Definition des Randes durch CSS bewirkt gleichzeitig, da&szlig, der fieldset im Opera und Konqueror sichtbar wird, daher sollte man generell eine CSS Definition fär den Rand hinterlegen.

    Kommen wir nun zum Element


    “Informationen der Steuerung zuweisen” lautet die Beschreibung dieses Elements. In der vergangenheit haben die Browserhersteller daher die vage Beschreibung unterschiedlich umgesetzt. In den neueren Browsern (IE4 aufwärts, Firefox, Mozilla) ist das label-element klickbar, welches das zugehörige Eingabeelement fokusiert.

    Label Test:





     

    Nun könnte man natürlich fragen, was der ganzer Aufwand soll, wo man doch mit der Tabelle alles wunderbar hinbekommt. Dafür gibt es mehrere Gründe:

     

    Die übersetzung erfolgte mit Genehmigung des Autors. Translated with the permission of the author.

    Dienstag 21. Juni 2005 23:23 , Kategorie: JS, CSS, (X|D)HTML, Blog.

    Kommentar || TrackBack URL

    2 Antworten zu “HTML Formulare - Arbeiten mit Fieldset, legend und label”

    1. Qiang & Linyi ,

      hast du am 21. Juni zweimal geschirieben?

    2. Qiang FU ,

      Thank you for your visiting to my blog.

    Kommentar schreiben

    Du musst angemeldet sein um einen Kommentar zu schreiben.