WaBis

walter.bislins.ch

Makro: form checkbox

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}}
Name
Name der Checkboxen. Alle Checkboxen einer Gruppe haben denselben Namen. 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 Checkboxen pro Zeile dargestellt werden sollen. Es werden so viele Zeilen wie nötig ausgegeben, um alle Checkboxen in Spalten Kolonnen darzustellen. Die Checkboxen 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 Checkbox 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.
Werte
Bestimmt, welche Checkboxen der Gruppe als ausgewählt dargestellt werden sollen. Für mehrere gleichzeitig ausgewählte Checkboxen werden die entsprechenden Werte durch Komma von einander getrennt aufgeführt.

Beispiele

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 

Auswertung

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

Formatierung

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>

Weitere Infos zur Seite
Erzeugt Montag, 26. Oktober 2009
von wabis
Zum Seitenanfang
Geändert Sonntag, 6. Dezember 2015
von wabis