WaBis

walter.bislins.ch

Makro: form radio

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}}
Name
Name der Radio-Boxen. Namen dürfen nur Buchstaben und Zahlen aus dem ASCII-Zeichen Vorrat enthalten. Das erste Zeichen muss ein Buchstabe sein. Jeder Name darf auf einer Seite nur einmal vorkommen.
Spalten: Zahl > 0
Gibt an, wie viele Radio-Boxen pro Zeile dargestellt werden sollen. Es werden so viele Zeilen wie nötig ausgegeben, um alle Radio-Boxen in Spalten Kolonnen darzustellen. Die Radio-Boxen werden regelmässig per Tabelle aneinander ausgerichtet.
Optionen
Liste von Optionen-Werte-Paare. Die Elemente der Liste müssen mit \| voneinander getrennt werden. Ein Listeneintrag hat das Format Text = Wert. Wird Wert nicht explizit angegeben, wird implizit Text als Wert verwendet. Text wird rechts neben der entsprechenden Radio-Box angezeigt.
Flags (optional)
Angaben wie Klasse, Styles und JavaScript-Handler (siehe Form-Flags). Eine Klasse (CSS) gilt für die ganze Gruppe. Alle anderen Flags werden jedem einzelnen Element zugewiesen.
Wert
Bestimmt, welche Radio-Box der Gruppe als ausgewählt dargestellt werden sollen.

Beispiele

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 

Auswertung

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).

Formatierung

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>

Weitere Infos zur Seite
Erzeugt Montag, 26. Oktober 2009
von wabis
Zum Seitenanfang
Geändert Samstag, 18. Juli 2015
von wabis