Moin!
wenn ich ein xhtml-formular erstelle, kann ich ja schön mit dem label-element die Benennung der Variablen angeben.
<label for="anrede">Anrede</label>
<select id="andrede" name="anrede">
<option>Frau</option>
<option>Herr</option>
<option>Firma</option>
</select>
In diesem Code ist ein Tippfelher: Entweder muß es "for=andrede" heißen, oder "id=anrede". Die Attributwerte von for (im <label>) und id (im Formularelement) müssen identisch sein.
> Nehme ich aber statt der Select-Box Radiobuttons, dann verliere ich den Bezug zur Varialbe "anrede", da die Labels dann ja nicht den Anzeigenamen der Variable angeben sondern den Variablenwert.
Labels beziehen sich immer nur genau auf ein Formularelement, nicht auf Gruppen von Formularelementen. Sie dienen dazu, eine (ggf. zusätzliche) Beschriftung eines Eingabeelements wie z.B. eines einzelnen Radiobuttons zu erlauben, sind aber nicht dazu da, die gesamte Radiobuttongruppe zu beschriften.
Wenn du Gruppen von Eingabeelementen gruppieren und benennen willst, nutze <fieldset>.
> ~~~html
> <label for="anredeFrau">Frau</label>
> <input type="radio" id="anredeFrau" value="Frau"/>
> <label for="anredeHerr">Herr</label>
> <input type="radio" id="anredeHerr" value="Herr"/>
> <label for="anredeFirma">Firma</label>
> <input type="radio" id="anredeFirma" value="Firma"/>
>
Hier ist doch alles bestens - mal abgesehen von der Tatsache, dass kein name-Attribut verwendet wurde und deshalb keine Radiobuttongruppe entstanden ist, sondern drei einzelne Radiobuttons, die nichts miteinander zu tun haben.
Ich könnte jetzt noch ein Label-Element drumrumpacken und es auf "anredeFrau" beziehen, das wäre aber nicht der Sinn der Sache, da ich nämlich gerne den Anzeigenamen der Variablennamen aus dem xhtml-Formular auslesen möchte. Das Formular soll also als Model-Definition alle nötigen Infos enthalten. Mir scheint, dass dafür dann eben Radiobuttons nicht tauglich wären.
Ich verstehe das Problem nicht.
Radiobuttons sind sinnvoll, wenn man genau eine Option aus mehreren auswählen können soll und diese Optionen alle sichtbar präsentieren will. Eine Alternative zu Radiobuttons wäre (von der Auswahlmöglichkeit her) eine <select>-Liste.
- Sven Rautenberg
"Love your nation - respect the others."