Why hide fields at all?
A long form full of "only fill this in if..." notes is hard work for whoever has to fill it in. It's much friendlier if the form simply hides anything that doesn't apply, and only asks the follow-up questions when they're actually relevant.
That's what this is for. You set up your form so that certain fields only appear when something else has been answered a particular way. The rest of the time, those fields stay out of the way.
A few situations where this earns its keep:
- A snagging form that only asks for repair details after the inspector has ticked "Issue found"
- An incident report that only asks about hospital treatment when a major injury is selected
- A daily inspection that only shows the wet-weather questions when the weather is wet
- A handover form that only asks for the client's signature once all the earlier sections are complete
Two things you can do
Two slightly different behaviours, both set up the same way:
- Hide a field until it's needed. The field doesn't appear at all until the answer that triggers it has been given.
- Make a field required only sometimes. The field is always visible, but it only becomes mandatory when something specific has been answered. Useful when you want to allow notes to stay optional most of the time, but force them when the user picks a particular option.
You set both of these up from the field's settings panel on the right of the Form Builder, under the Conditional logic section.
Setting it up — by example
It's easier to see this with a real example than to describe it in the abstract.
Example 1 — show a follow-up question
Imagine a snagging form. You want to ask "Was an issue found?" as a checkbox, and only show the description, photo, and severity fields if the answer is yes.
- 1
On the canvas, click the Description field so it's selected.
- 2
In the right-hand settings panel, scroll to Conditional logic and add a new show/hide condition.
- 3
Pick the field that should drive it — in this case, the Was an issue found? checkbox.
- 4
Set the condition to is ticked.
- 5
Repeat the same setup on the photo field and the severity field. They'll all hide together until the box is ticked.
Now when an inspector fills the form in, they only see the follow-up fields once they've actually flagged a snag. If the answer is "No issue", they skip straight past.
Example 2 — make notes mandatory in some cases
Imagine a sign-off form with a Status dropdown (Approved / Rejected / On Hold) and a Notes field. You want notes to be optional most of the time, but mandatory whenever the user picks Rejected — because rejecting something without explaining why isn't helpful.
- 1
Click the Notes field on the canvas.
- 2
In the Conditional logic section, add a new "required only when..." condition.
- 3
Pick the Status dropdown as the field that should drive it.
- 4
Set the condition to "is Rejected".
Now the form lets users save without notes when the status is Approved or On Hold, but the moment they pick Rejected, the Notes field turns into a required field and the form won't submit until they fill it in.
Ways to set up the condition
When you're setting up a condition, you choose how it should match. You don't need to memorise these — the picker shows you the options that fit the field you've chosen.
For most fields you can match on:
- Is something (e.g. "Status is Rejected")
- Is not something (e.g. "Status is not Approved")
- Has been filled in (any answer at all)
- Has not been filled in
For yes/no checkboxes you can use:
- Is ticked
- Is not ticked
For Number and Currency fields you can use:
- Is more than a value (e.g. "Hours worked is more than 8")
- Is less than a value
- Is at least a value
- Is at most a value
For text fields you can use:
- Contains some text (e.g. "Description contains 'crack'")
- Starts with some text
- Ends with some text
Pick whichever option makes the most sense for your situation. The picker only shows you the options that work for the field you're conditioning on.
Hiding a whole section
If you want to hide several fields at once — for example, a "First aid given" group with five different fields — you don't need to set up the same condition five times. Drop the fields into a Conditional section and set the condition once on the section. Hide the section and everything inside hides with it.
This is the tidiest way to handle big show/hide groups, and it makes the form much easier to maintain later if you change your mind about which fields belong together.
What users notice as they fill in the form
The form reacts as soon as the user changes anything. Tick a box, and the follow-up question appears straight away. Untick it, and the question disappears again. Pick a different option from a dropdown, and any sections tied to the old answer hide while the new ones appear.
A useful side-effect: anything the user has already typed into a hidden field is kept, not deleted. So if someone changes their mind back and forth, they don't lose their work.
A worked example: incident report
Putting it all together, an incident report form might be set up like this:
- A dropdown asks for Incident type, with options like Near miss, Minor injury, Major injury, RIDDOR-reportable
- A "First aid given" section is hidden until the incident type is Minor injury or Major injury
- A "Hospital attended" section is hidden until a "Was hospital treatment needed?" checkbox is ticked
- The Witness name field is normally optional, but becomes required when the incident type is RIDDOR-reportable
The user only ever sees the questions that apply to their incident, and the form only forces them to fill in what's actually needed for the kind of incident they're reporting.
A few things worth knowing
- Multiple conditions on the same field combine — if you set two show/hide conditions on a field, both have to be met for the field to show. If you need an "either/or" situation, the easiest fix is usually to redesign the question that drives it rather than try to set up complicated conditions
- Hidden fields don't block submission — if a required field is hidden by a condition, it's quietly skipped, which is almost always what you want
- Calculated fields can't be used as conditions — only what the user has typed or selected directly counts, not numbers worked out by calculated fields
Next steps
- Adding calculated fields — to do automatic sums based on what the user fills in.
- Organising forms with sections and pages — to hide whole groups of fields at once with a Conditional section.
- Splitting a form into pages — for how the per-page checks handle hidden fields.