Das Makro form checkbox erzeugt eine oder mehrere Checkboxen. Die Checkboxen können neben- und untereinander tabellarisch geordnet dargestellt werden.
Anwendung
{{form checkbox|Name|Spalten|Optionen|Flags|Werte}}
Das folgende Beispiel zeigt eine Gruppe von Checkboxen mit 3 Städtenamen an. Die Checkboxen werden nebeneinander dargestellt:
{{form checkbox|Stadt|3| Zürich \| Bern \| Luzern |Zürich, Luzern}}
So sieht das aus:
Zürich | Bern | Luzern |
Den Checkboxen können beliebige Werte (Zahlen oder Strings) zugewiesen werden. Selektiert wird eine Checkbox immer über den Wert der Box, nicht über seinen angezeigten Text:
{{form checkbox|UserTyp|1| Neues Mitglied=3 \| Ehemaliges Mitglied=2 \| Gast=1 |2,3}}
So sieht es aus:
Neues Mitglied |
Ehemaliges Mitglied |
Gast |
Beim Absenden des Formulars, das eine Gruppe von Checkboxen enthält, werden die Werte der selektierten Checkboxen unter dem Namen des Checkbox-Gruppe gespeichert. Mehrere Werte werden durch Komma von einander getrennt. Diese Werte können auf der auswertenden Seite per WScript über die Funktion ReqForm abgefragt werden:
<wscript> userTyp = ReqForm("UserTyp") </wscript>
Ist wie im obigen Beispiel Neues Mitglied und Ehemaliges Mitglied angewählt, bekommt UserTyp den Wert "2,3" (String).
Das Aussehen der Checkboxen kann über Styles beeinflusst werden. Jedes Checkbox-Element bekommt intern die Klasse Checkbox zugewiesen und die Tabelle, welche die Checkboxen in Zeilen und Spalten ausrichtet, hat standardmässig die Klasse FieldGrid. Die Klasse FieldGrid kann über ein Flag geändert werden:
{{form checkbox|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 Checkbox vergrössern, kann man einfach den folgenden Style auf der Seite definieren:
<style> .Wiki input.Checkbox { margin-right:10px; } </style>
Dasselbe lässt sich auch durch folgendes Flag erreichen und gilt dann nur für diese Gruppe, nicht global:
{{form checkbox|Stadt|3| Zürich\|Bern\|Luzern |style=margin-right:10px|Bern}}
Wenn man den Abstand der einzelnen Checkboxen einer Gruppe vergrössern will, kann man das Padding der Tabellen-Zellen entsprechend vergrössern:
<style> .Wiki table.FieldGrid td { padding-right:32px; } </style>