The Input Widgets
Templating System : Widget Reference : InputOverview
These widgets provide a variety of HTML controls, all of which
are based on <input type="...">
. In
particular, the hidden, text, radio and checkbox widgets are
currently implemented; their use is demonstrated in the acs-templating demo.
The Hidden Widget
This is simply an <input
type="hidden">
widget, which is used for
passing pre-set variables along with the form.
The Text Widget
This widget allows the user to enter one line of text. It is
completely identical to the <input type="text">.
The -html
parameter can be used to set its properties
(such as size
, maxlength
, etc.), as
described in the general widgets reference. The value of this widget is the text
string.
The Radio Group Widget
This widget actually represents a group of radio buttons, at
most one of which can be selected at any given time. The widget has
one required parameter,
-option
option_list, which specifies the
radio buttons to display. The option_list is a list of
label-value pairs. For example,
will create a radio button group with 3 options: "Cheap", whose value is 1000, "Medium", whose value is 50000, and "Expensive", whose value is 999999. The value of the entire widget is either the empty string (if the user did not select any of the radio buttons), or the value of the currently selected radio button. For instance, if the user selects "Medium" in the example above, the value oftemplate::element create test_form cost \ -label "Car Cost" -datatype number -widget radio \ -options { {Cheap 1000} {Medium 50000} {Expensive 999999} }
cost
will be 50000
.
The default form template renders the Radio Group widget as a column of radio buttons. Since the Radio Group can consist of many HTML controls, the usual formwidget tag cannot be used to position the widget; instead, the formgroup tag must be used.
The Checkbox Group Widget
This widget is identical in use to the Radio Group widget, but
instead of radio buttons it generates a group of checkboxes, any
number of which can be checked at any given time. The
values
(plural) property of the corresponding element
contains a list of all the checked values; the value
(singular) property contains the first element in the list.