Forms
Introduction
A form is a named set of fields, laid out in pages and sections, with its own settings. You'll find every form on Formidable › Forms, where New starts another.
Every form has a name, for you, and a handle, for templates: {exp:formidable:form form_handle="contact_us"}. Pick a handle you won't want to change, because every template that shows the form uses it.
Pages, sections and fields
A form is built from three nested pieces:
Form
└── Page a step the visitor moves through (Back / Next / Submit)
└── Section a titled group of fields, such as an address block
└── Field
Every form has at least one page, and every page at least one section. A form with one page shows no step navigation, just a Submit button.
- Pages have a name, a description, a heading level (2 unless you change it) and their own button labels. Empty labels fall back to Next, Previous and Submit. See Multi-page forms.
- Sections have a name, a description and a heading level (3 unless you change it). A section can also repeat.
- Fields sit on a grid inside their section, a quarter, half, three-quarters or the full width of it.
Pages and sections can have conditions that skip a page or hide a section based on earlier answers.
There's no "submit button" field and no "group" field. Every page draws its own navigation, and sections do the grouping.
The builder
A form's edit screen shows the whole form at once: each page is a panel, each section a box inside it, and each field a tile on its section's grid.
Adding fields
Drag a field from the Add field palette to where it should go, or click it to add it to the end of the section you're looking at. Each section also ends with its own Add field picker, which you can search from the keyboard.
To add a field next to another, hover any edge of the field and choose the + that appears. Left or top adds before it; right or bottom adds after.
Arranging fields
- Edit a field by clicking its tile.
- Move it by dragging, between sections and across pages.
- Resize it by dragging its right edge.
- Pages and sections move by their headers. Click a name to open its settings. A page or section can only be deleted once it's empty, and a form always keeps one of each.
- Hidden fields have no place on the grid, so they're listed above the pages.
Every drag has a keyboard route too. A field's menu offers Width, Move up, Move down and Move to any section on any page, and page and section menus have their own Move options.
Overview
The Builder | Overview switch above the builder shows a map of the form: every page and section, its conditions written out as sentences, and lines linking each condition to the fields it reads. It's the quickest way to understand a form someone else built.
Duplicating a form
Duplicate, in a form's menu on Formidable › Forms or at the top of its builder, makes a new form from it, with its settings, pages and sections, fields, statuses, workflows and submission actions. Next to it, Export downloads the form as a file another site can import, and Save as blueprint keeps it as a starting point for new forms. See Blueprints, export and import. Submissions, counts and the workflow log stay with the original. The copy opens in the builder.
- The copy is named "Name (copy)", with a handle ending in
_copy(then_copy_2, and so on). Rename both before you use the copy in a template. - Fields keep their handles, so conditions, recipients, connection mappings and
{field:HANDLE}in emails work unchanged. Computed fields are pointed at the copy's own fields. - Fields linked to the Field Library stay linked.
- A copy of a captured form is an ordinary builder form. The template's capture tag still drives only the original.
Duplicating needs the Manage forms permission.
Limits and access
A form's General tab can close it automatically:
| Setting | Effect |
|---|---|
| Accept submissions until | After this date, the form shows its closed message instead of its fields. |
| Maximum submissions | Once this many submissions are stored, the form closes. |
| Members only | Only logged-in members may fill it in, and guests see a message. Follows the site setting unless the form sets its own. |
Each has its own message. The form is checked again when a submission arrives, so a page cached before the form closed can't sneak one through. Templates can place the message themselves with {if form_closed}. See the form tag.
Statuses
Every submission has a status, such as New, In progress or Done. Define the site's statuses on Configuration › Statuses, and a form's own on its Statuses tab, each with a name and a colour. New submissions get the default status.
Change a submission's status from its page in the control panel, filter the listing by status, and select by status in templates with status= on {exp:formidable:submissions}. A status change can also run workflows.