First 100 spots 50% lifetime discount. Start free.
Putting a form on a page
To show a form you built under Modules, use the Form element: drop it on a page, tell it which form to show, and style it once so every form on the site matches.
| Where | The Modules group of the editor's component list: Form |
|---|---|
| Takes effect | After you publish (how) |
| Needs | The forms module switched on |
The element and the form are two different things. The element decides where the form sits and what it looks like; the fields, the destination address and the thank-you message all live under Modules → Forms. See Building a form.
Adding it
The Modules group in the component list only lists a module that's switched on, so if Form isn't there, turn the forms module on under Manage → Settings → Enabled modules.
Select the parent you want it in (a Column is the usual answer) and drag Form across, or double-click it. The element arrives with three child components already inside it: Form label, Form input and Form submit button. Those aren't fields; they're the styling handles for every field the form renders.
Then select the Form element and set its properties:
| Property | What it does |
|---|---|
| Form | Which form this element shows. Nothing is drawn until you pick one. |
| Override default mail to | Send this placement's submissions to a different address than the form's own. |
Override default mail to is what lets one form serve several pages: the same questions on /contact and on /bookings, with the answers landing in two different inboxes. Leave it empty and the form's own address is used. It changes nothing else. The fields, the confirmation text and the database setting all stay as the form defines them.
What gets rendered
Each field becomes a row with the label on the left and the input on the right, roughly a third and two thirds. Below the fields comes the confirmation tick-box, if the form has one, and then the send button.
Two consequences:
- A form with no fields renders nothing at all: no heading, no button, no empty box. So does a form whose fields are all unticked, and so does a Form element with no form chosen. If your page has a suspicious gap where a form should be, that's the first thing to check.
- A Title field is a real row. It's the only field type without an input, and it's how you get a heading inside the form rather than above it.
Required fields get a * after the label. A field's Comment appears as small text under its label, and its Placeholder as grey text inside the empty input.
Styling it
Select the Form element itself for the box around everything: Background, Border, Border radius, Padding and Gap (the space between rows). It also has a Breakpoint: the screen width below which each label stops sitting beside its input and moves above it. On a narrow column, raise it; on a wide one, leave it low.
The three children each style one part of every field:
| Component | What it controls | States |
|---|---|---|
| Form label | The text beside each input: padding, margin, text settings | Default |
| Form input | Every text box, text area and dropdown: background, border, border radius, shadow, padding, margin, text | Default, Hover |
| Form submit button | The send button: background, border, border radius, gap, padding, text | Default, Hover, Active |
The Hover state on the input is what gives a form the small lift people expect when they move through it; the Active state on the button is what it looks like while being pressed.
The submit button accepts the same display sets as an ordinary Button, so the fastest way to make a form look like the rest of the site is to give it the button display set you already use elsewhere. If you have more than one form, give the input and the label a display set of their own. See Display sets.
After someone sends it
The visitor sees the form replaced by your Send feedback message, or a plain thank-you if you left that empty. Nothing else changes on the page and there's no redirect to a separate thank-you page. If you want one, link to it from inside the feedback message.
Where the submission goes is set on the form, not here: emailed, stored, or both. See Building a form and Reading what people sent you.
Common issues
Form isn't in the component list.
keyboard_arrow_down
remove
The forms module is off. Manage → Settings → Enabled modules → Enable forms module, save, reload the editor.
I placed the element and nothing appears.
keyboard_arrow_down
remove
In order of likelihood: no form is chosen in the element's properties; the chosen form has no fields; the fields exist but none are ticked in the Form: block on the fields screen.
I changed the fields and the live site still shows the old form.
keyboard_arrow_down
remove
Form definitions are cached on the live site for up to four hours. Publishing clears the cache straight away.
The labels and inputs are on top of each other on desktop.
keyboard_arrow_down
remove
The element's Breakpoint is set too high. Lower it until they sit side by side again.
Mail arrives at the wrong address.
keyboard_arrow_down
remove
Check Override default mail to on this particular element before you look at the form. A placement-level override beats the form's own address, and it's easy to forget one you set months ago.
Two forms on the same page both send to the same inbox.
keyboard_arrow_down
remove
Give one of them an Override default mail to.
The send button does nothing.
keyboard_arrow_down
remove
The form has a confirmation tick-box and it hasn't been ticked. The button stays disabled until it is.
What will you create today?
ClickWhale is a website management system created by Ikabus