Das Makro form radio erzeugt eine Gruppe von Radio-Boxen. Die Radio-Boxen können neben- und untereinander tabellarisch geordnet dargestellt werden. Im Unterschied zu Checkboxen kann immer nur eine Box pro Gruppe ausgewählt werden.
Anwendung
{{form radio|Name|Spalten|Optionen|Flags|Wert}}
Das folgende Beispiel zeigt eine Gruppe von Radio-Boxen mit 3 Städtenamen an. Die Radio-Boxen werden nebeneinander dargestellt:
{{form radio|Stadt|3| Zürich \| Bern \| Luzern |Bern}}
So sieht das aus:
Zürich | Bern | Luzern |
Den Radio-Boxen können beliebige Werte (Zahlen oder Strings) zugewiesen werden. Selektiert wird eine Radio-Box immer über den Wert der Box, nicht über seinen angezeigten Text:
{{form radio|UserTyp|1| Neues Mitglied=3 \| Ehemaliges Mitglied=2 \| Gast=1 |2}}
So sieht es aus:
Neues Mitglied |
Ehemaliges Mitglied |
Gast |
Beim Absenden des Formulars, das eine Gruppe von Radio-Boxen enthält, wird der Wert der selektierten Radio-Box unter dem Namen des Radio-Box-Gruppe gespeichert. Dieser Wert kann auf der auswertenden Seite per WScript über die Funktion ReqForm abgefragt werden:
<wscript> userTyp = ReqForm("UserTyp") </wscript>
Ist wie im obigen Beispiel Ehemaliges Mitglied angewählt, bekommt UserTyp den Wert "2" (String).
Das Aussehen der Radio-Boxen kann über Styles beeinflusst werden. Jedes Element bekommt intern die Klasse Radio zugewiesen und die Tabelle, welche die Radio-Boxen in Zeilen und Spalten ausrichtet, hat standardmässig die Klasse FieldGrid. Die Klasse FieldGrid kann über Flags geändert werden:
{{form radio|Stadt|3| Zürich\|Bern\|Luzern |class=FieldGrid Breit|Bern}}
Im obigen Beispiel erhält die Element-Gruppe zusätzlich zur Klasse FieldGrid noch die Klasse Breit. Letztere könnte so definiert sein, dass die Tabelle die ganze Breite der Seite ausnutzt:
<style> .Wiki table.Breit { width:100%; } </style>
Will man den Abstand des Textes bei jeder Radio-Box vergrössern, kann man einfach den folgenden Style auf der Seite definieren:
<style> .Wiki input.Radio { margin-right:10px; } </style>
Dasselbe lässt sich auch durch folgendes Flag erreichen und gilt dann nur für diese Gruppe, nicht global:
{{form radio|Stadt|3| Zürich\|Bern\|Luzern |style=margin-right:10px|Bern}}
Wenn man den Abstand der einzelnen Elemente einer Gruppe vergrössern will, kann man das Padding der Tabellen-Zellen entsprechend vergrössern:
<style> .Wiki table.FieldGrid td { padding-right:32px; } </style>