The forms toolbox lets you control how your form behaves. It contains settings that are applied to the whole form, to pages in your form and to the individual fields on each page. It also holds all of the available field types and snippets you can use.
Every property in the toolbox has a quick-help icon next to it. Click the question mark to see more information about the property you would like to change or the field you would like to add.
The quick-help also links to the full Form Fields help on this site.
When working in the Forms Designer, you'll come across the following terms.
|An initialisation handler.
These properties are found in the form settings and page settings. They allow you to enter script that is executed client-side as the page or form is generated.
Form init handlers are executed first, then page init handlers.
|Almost every field type can have a default function. This property lets you enter a script that will be executed server-side as the field is generated. It is most commonly used to dynamically calculate the default value of a field.
|Many of the input fields have a validation function. This property lets you enter a script that will calculate whether the value of the field is valid or not. Validation is performed client-side as field values are updated, and repeated server-side between form page loads and when the form is submitted.
Many fields also contain standard validation properties, regular expression properties and a simple "Required: true/false" property.
|Field handlers are executed client-side (so after all of the init handlers and default functions) and are also triggered whenever the value of the field changes. The scripts you enter here will power much of the dynamic behaviour of your form.
|Anything that happens in the user's browser when they are filling out or viewing your form.
|Anything that happens on the server. This includes as the form is generated, as a user moves between pages of a form and when the form is submitted.
|Properties and Values
|Each section of the toolbox, and each field type, has a range of options. Each option is know as a property (so the label, name, handler, width, validation function etc are all known as properties).
Tool Box Panel
This panel holds the fields and snippets available to use on your form. You can switch between this panel and the settings panel by clicking on the headings. You can adjust the size of the split view by dragging the settings panel up and down.
This tab lists the fields available in the designer. Documentation for every field type is in the Form Fields section.
Fields are grouped together by type. All of the fields that control how the form is laid out are in the "Layout" group, all of the buttons in the "Buttons" group.
You can expand and collapse a group by clicking on its heading. The arrows in the top right of the toolbox expand and collapse all groups.
This tab lists all of the snippets saved in the designer. Snippets are organised by the groups they are saved in. There's more information about creating and using snippets in the Form Blueprints and Snippets section.
This section of the toolbox holds settings for your fields, pages and the complete form.
The field settings tab will change depending on the field you have selected. It displays the options and properties of the field you are currently working on.
The page settings tab configures the page of the form that is currently being displayed. Each page has a name and can optionally have a title.
The "Optional" property is used in multipage forms. If your form design branches, or skips over pages depending upon the way it is completed, pages that may be skipped should be marked as "Optional: true".
The "Init Handler" allows you to enter script that will be executed as the page loads, after any form level initialisation scripts.
The form settings tab allows you to change settings that will be applied to the whole form, scripts executed client side as the form (and each page of the form) loads, how the form is handled when it is submitted, and additional properties like tracing, debugging and the alignment of field labels.