cfformgroup
Description
Creates a container control for multiple form controls. Used in the cfform tag body of Adobe Flash and XML forms. Ignored in HTML forms.
Categories
Related
History
ColdFusion
MX 7: Added this tag.
Syntax
<cfformgroup
type = "group type"
label = "label"
style = "style specification"
selectedIndex = "page number">
width = "pixels"
height = "pixels"
enabled = "yes|no"
visible = "yes|no"
onChange = "ActionScript expression"
tooltip = "text"
id = "unique identifier">
...ColdFusion forms controls...
</cfformgroup>
OR
<cfformgroup
type = "repeater"
query = "query object"
maxrows = "integer">
startrow = "row number"
...ColdFusion forms controls
</cfformgroup>
Note: You can specify
this tag’s attributes in an attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| enabled | Boolean value that specifies whether the controls in the form group are enabled. Disabled controls appear in light gray. | Optional; Flash | yes |
| height | Height of the group container, in pixels. If you omit this attribute, Flash automatically sizes the container height. Ignored for Flash repeater type. | Optional; Flash | |
| id | Unique identifier for the form group. When using the tabnavigator or accordion type, specify the id attribute to reference the controls through custom ActionScript. | Optional; Flash | |
| label | Label to apply to the form group. In Flash, does the following: For a page or panel form group, determines the label to put on the corresponding accordion pleat, the tabnavigator tab, or the panel title bar. For a Flash horizontal or vertical form group, specifies the label to put to the left of the group. Ignored in Flash for repeater, hbox, hdividedbox, vbox, vdividedbox, tile, accordion, and tabnavigator types. | Optional; Flash and XML | |
| maxrows | Used only for the repeater type; ignored otherwise. Specifies the maximum number of query rows to use in the Flash form repeater. If the query has more rows than the sum of the startrow attribute and this value, the repeater does not use the remaining rows. | Optional; Flash | |
| onChange | Tabnavigator and accordion types only: ActionScript expression or expressions to execute when a new tab or accordion page is selected. Note: The onChange event occurs when the form first appears. | Optional; Flash | |
| query | The query to use with the repeater. Flash creates an instance of each of the cfformgroup tag’s child tags for each row in the query. You can use the bind attribute in the child tags to use data from the query row for the instance. | Required for type= repeater, ignored otherwise; Flash | |
| selectedIndex | Used only for accordion and tabnavigator types; ignored otherwise. Specifies the page control to display as open, where 0 (not 1) specifies the first page control defined in the group. | Optional; Flash only | |
| startrow | Used only for the repeater type; ignored otherwise. Specifies the row number of the first row of the query to use in the Flash form repeater. This attribute is zero-based: the first row is row 0, not row 1 (as in most ColdFusion tags). | Optional; Flash | 0 |
| style | Flash: a Flash style specification in CSS format. For detailed information on specifying Flash styles, see Creating Forms in Flash in the Developing ColdFusion Applications. XML: an inline CSS style specification. | Optional; Flash and XML | |
| tooltip | Text to display when the mouse pointer hovers in the form group area. If a control in the form group also specifies a tooltip, Flash displays the control’s tooltip when the mouse pointer hovers over the control. | Optional; Flash | |
| type | XML: Can be any XForms group type defined in the XSLT. The XSL skins provided with ColdFusion support the following types: horizontal: align child tags horizontally within a form and put this tag’s label attribute to the left of the children. vertical: align child tags vertically within a form and put this tag’s label attribute to the left of the children. fieldset: corresponds to the HTML fieldset tag, which groups its children, typically by drawing a box around them and replacing part of the top line with legend text. To specify the legend, use the label attribute. To specify the box dimensions, use the style attribute with height and width values. Explicitly use cfformgrouptype="vertical" inside this formgroup to align its child tags vertically. | Required; Flash and XML | |
| visible | Boolean value specifying whether the controls in the form group are visible. If the controls are invisible, the space that would be occupied by visible controls is blank. | Optional; Flash | yes |
| width | Width of the group container, in pixels. If you omit this attribute, Flash automatically sizes the container width. Ignored for Flash repeater type. | Optional; Flash and XML |
Usage
This tag requires an end tag. This tag is ignored if the cfform type is HTML; any tag body’s contents are interpreted as if the surrounding cfformgroup does not exist.
In Flash format forms, this tag organizes the contents of the form. It groups and arranges child tags. The body of this tag can contain the following tags; all other tags and text are ignored:
cfformgroup
cfformitem
cfcalendar
cfgrid
cfinput
cfselect
cftextarea
cftree
For more information on using this tag in Flash forms, see Creating Forms in Flash in the Developing ColdFusion Applications.
In XML format, ColdFusion passes the tag and its attributes to the XML; it is the responsibility of the skin XSLT to handle the XML. The ColdFusion basic skin supports the horizontal, vertical, and dualselectlist styles only. For more information on using this tag in XML forms, see Creating Forms in Flash in the Developing ColdFusion Applications.
In Flash format forms, this tag organizes the contents of the form. It groups and arranges child tags. The body of this tag can contain the following tags; all other tags and text are ignored:
cfformgroup
cfformitem
cfcalendar
cfgrid
cfinput
cfselect
cftextarea
cftree
For more information on using this tag in Flash forms, see Creating Forms in Flash in the Developing ColdFusion Applications.
In XML format, ColdFusion passes the tag and its attributes to the XML; it is the responsibility of the skin XSLT to handle the XML. The ColdFusion basic skin supports the horizontal, vertical, and dualselectlist styles only. For more information on using this tag in XML forms, see Creating Forms in Flash in the Developing ColdFusion Applications.
Example
For
a simple example of an XML form that uses a single cfformgroup tag,
see cfform.
The
following example shows how to use the cfformgroup tag
to arrange elements on a Flash form. It creates an hdividedbox container
that has a vbox container on each side. The left box has heading
text and two radio buttons. The right box has heading text and three
check boxes.
<h3>Simple cfformgroup Example</h3>
<cfform name="myform" height="450" width="500" format="Flash" >
<cfformgroup type="hdividedbox" >
<cfformgroup type="VBox">
<cfformitem type="text" height="20">
Pets:
</cfformitem>
<cfinput type="Radio" name="pets" label="Dogs" value="Dogs" checked>
<cfinput type="Radio" name="pets" label="Cats" value="Cats">
</cfformgroup>
<cfformgroup type="VBox">
<cfformitem type="text" height="20">
Fruits:
</cfformitem>
<cfinput type = "Checkbox" name="chk1" Label="Apples" value="Apples">
<cfinput type="Checkbox" name="chk2" Label="Bananas" value="Bananas">
<cfinput type="Checkbox" name="chk3" Label="Pears" value="Pears">
</cfformgroup>
</cfformgroup>
</cfform>
The following more complex example
shows more fully how you can use cfformgroup tags
to arrange controls in a Flash form. It also shows many of the text
formatting features that you can use in a text cfformgroup body.
When you submit the form, the page dumps the contents of the Forms
scope, to show you the submitted data.
<h2>cfformgroup Example</h2>
<cfif IsDefined("form.oncethrough")>
<h3>The form submitted the following information to ColdFusion:</h3>
<cfdump var="#form#"><br><br><br>
</cfif>
<h3>A Flash form using cfformgroup tags</h3>
<cfform name="myform" height="450" width="500" format="Flash">
<!--- The following formgroup shows how you can present formatted text. --->
<cfformitem type="html">
<b><font color="#FF0000" size="+4" face="serif">
This form has two tabs, asking for the following:</font></b><br>
<li>contact information</li>
<li><i>preferences</i></li>
<b>Try entering information on both tabs</b><br>
Submit the form and see what ColdFusion gets in the Forms scope.</b><br>
<a href="http://www..com/" target="_blank">
<font color="#0000FF"><u>
This link displays the home page in a new browser window
</u></font></a><br>
<br>
</cfformitem>
<!--- Use a tabnavigator with two tabs for user input. --->
<cfformgroup type="tabnavigator" height="220">
<cfformgroup type="page" label="Contact Information">
<!--- Align the first and last name fields horizontally --->
<cfformgroup type="horizontal" label="Your Name">
<cfinput type="text" required="Yes" name="firstName" label="First"
value="" width="100"/>
<cfinput type="text" required="Yes" name="lastName" label="Last"
value="" width="100"/>
</cfformgroup>
<cfformitem type="html"><textformat indent="95"><font size="-2">
Flash fills the email field in automatically.
You can replace any of the text.
</font></textformat>
</cfformitem>
<!--- The bind attribute gets the field contents from the firstname and lastName
fields as they get filled in. --->
<cfinput type="text" name="email" label="email"
bind="{firstName.text}.{lastName.text}@mm.com">
<cfinput type="text" name="phone" validate="telephone" required="Yes"
label="Phone Number">
</cfformgroup>
<cfformgroup type="page" label="Preferences">
<cfformitem type="text" height="30">
<b>Tell us your preferences</b>
</cfformitem>
<!--- Put the pet selectors to the left of the fruit selectors. --->
<cfformgroup type="hbox">
<!--- Group the pet selector box contents, aligned vertically. --->
<cfformgroup type="vbox">
<cfformitem type="text" height="20">
Pets:
</cfformitem>
<cfformgroup type="vertical">
<cfinput type="Radio" name="pets" label="Dogs" value="Dogs"
checked>
<cfinput type="Radio" name="pets" label="Cats" value="Cats">
</cfformgroup>
</cfformgroup>
<!--- Group the fruit selector box contents, aligned vertically. --->
<cfformgroup type="vbox">
<cfformitem type="text" height="20">
Fruits:
</cfformitem>
<cfformgroup type="tile" width="200" label="Tile box">
<--- Flash requires unique names for all controls --->
<cfinput type = "Checkbox" name="chk1" Label="Apples"
value="Apples">
<cfinput type="Checkbox" name="chk2" Label="Bananas"
value="Bananas">
<cfinput type="Checkbox" name="chk3" Label="Pears"
value="Pears">
<cfinput type="Checkbox" name="chk4" Label="Oranges"
value="Oranges">
<cfinput type="Checkbox" name="chk5" Label="Grapes"
value="Grapes">
<cfinput type="Checkbox" name="chk6" Label="Cumquats"
value="Cumquats">
</cfformgroup>
</cfformgroup>
</cfformgroup>
</cfformgroup>
</cfformgroup>
<cfformgroup type="horizontal">
<cfinput type = "submit" name="submit" width="100" value = "Show Results">
<cfinput type = "reset" name="reset" width="100" value = "Reset Fields">
<cfinput type = "hidden" name="oncethrough" value = "Yes">
</cfformgroup>
</cfform>