Building Forms
Form structure
Pages, columns, drag-and-drop, the progress bar, and the thank-you page — everything that controls your form's layout.
Pages
Every form starts as a single page. For short forms (under ~7 fields), that is usually enough. When a form gets longer or branches into different flows, split it into pages so respondents see one focused set of questions at a time.
When to use multiple pages
- 7+ fields — a long scroll feels heavy; pages break the work into manageable steps.
- Mixed-purpose forms — intake, payment, and confirmation each belong on their own page.
- Conditional branching — logic rules can jump to or skip whole pages based on answers.
Adding a page
- 1
Insert a Page Break
Type / on the canvas, search for Page Break, and pick it. Everything below the break becomes the next page.
- 2
Add fields and content
Each page is independent. Add any combination of questions, content blocks, columns, and media.
- 3
Name the page (optional)
Open the page divider’s block menu and pick Set page name. Named pages are much easier to pick as the target of a logic page jump.
- 4
Reorder
Drag blocks between pages, or use Move up / Move down from the block menu to rearrange content.
Respondents navigate between pages with Next and Back buttons that formbase adds automatically. The final page shows a Submit button instead of Next. Back retraces the pages the respondent actually visited, so a page jump is undone step by step rather than dropping them on the page before.
The thank-you page is not one of these pages — it is the screen after submitting, and it never appears in the page count.
Multi-page progress bar
A thin progress bar at the top of the form shows respondents how far along they are.
How it works
| Detail | Behavior |
|---|---|
| Calculation | Current page index divided by the number of page breaks — so page 1 of 4 reads 0% and the last page reads 100% |
| Page jumps | Every page the form contains counts, whether or not this respondent sees it. A jump that skips pages makes the bar leap forward |
| Single-page forms | The bar is hidden when the form has no page breaks |
Page jumps with logic
Conditional logic can jump to a specific page — for example, “If the respondent picks ‘Self-employed’, skip to page 4”. The jump happens when the respondent presses Next on the page with that question. On later pages, Next goes on in page order. A rule that reads only hidden or calculated fields can jump from any page, but only forward. A page the jumps skip counts as hidden: its questions are not required, and its answers are dropped. See Conditional logic.
Columns
Columns let you place blocks side-by-side. Use them for compact layouts — a name and email on one row, an image next to a description, or grouped choice fields.
Adding columns
- 1
Insert a Columns block
Type / on the canvas, search for 2 Columns, and pick it. A two-column row appears.
- 2
Add blocks inside each column
Click inside a column and add any block — questions, content, media. Each column behaves like a mini page.
- 3
Move blocks between columns
Drag a block from one column and drop it into another.
| Detail | Value |
|---|---|
| Starting layout | 2 columns (from the block menu) |
| Add more columns | Drag blocks into a row to expand it |
What cannot go in a column
Logic, Hidden Field, Calculated Field, Page Break, Thank You Page, and a repeating group only work at the top level of the form. The block menu hides them while the cursor is inside a column. A repeating group forbids a little more: Payment, Schedule appointment, and Documents are also out, because a submission pays, books, and is handed documents once — not once per entry.
Responsive behavior
Columns stack vertically on small screens. Respondents on mobile see one column at a time, so the form stays readable.
Drag and drop
Every block has a drag handle on its left edge. Grab it to reorder blocks within a page or move them between columns.
Reordering blocks
- Within a page — drag a block up or down to change its position.
- Between columns — drag a block from one column into another.
Block menu
Click the drag handle (or tap the block indicator on touch devices) to open a menu. What it offers depends on the block; these are the entries you will meet most.
| Action | What it does |
|---|---|
| Turn into | Converts a question to another type without losing data. Three families convert freely inside themselves: the text-like inputs (Text Input, Text Area, Email, Website URL, Phone Number, Number), the option-based ones (Radio Buttons, Checkboxes, Dropdown, Ranking, and picture choice), and the scales (Star Rating and linear scale) |
| Options | Per-type tuning: randomize order, max stars or scale max, single vs multiple picture choice |
| Validation | The rules for this question type — see Field settings |
| Field key | The name automations use for this field |
| Mark as required / Mark as optional | Whether an empty answer blocks submission (questions only) |
| Hide title / Show title | Keeps the question but drops its label |
| Edit placeholder / Edit default value | Switches which of the two you are typing into |
| Align | Left, Center, or Right — on images and other media |
| Indent / Remove indent | Nesting depth of a list item (Tab and Shift+Tab do the same) |
| Create repeating group | Wraps the block, or the whole selection, into a repeating group |
| Insert here / Insert below | Adds an empty block at or after this position |
| Duplicate | Copies the block directly below |
| Move up / Move down | Shifts the block one position |
| Hide / Show | Hides the block from respondents without deleting it — logic can reveal it later |
| Delete | Removes the block |
Select several blocks at once — drag a rectangle around them, shift-click a second block to take the range, or press Cmd/Ctrl+A twice — and the same menu acts on all of them: turn into, required, title visibility, wrap into a group, duplicate, move, hide, delete.
Repeating groups
A repeating group is a labeled container that holds a set of member fields — like a “Add additional guests” group with Name and Age. Respondents add as many entries as they need, so you don’t have to guess how many you’ll get up front. Insert a fresh Repeating Group from the block menu, or select a run of existing fields and pick Create repeating group.
For the full guide — building groups, filling them out, and how entries show up in submissions — see Repeating groups.
Thank-you page
Every form has a thank-you page — always the last page. It is what respondents see after they submit. Customize it with headings, images, links, and piped answers — or redirect to an external URL instead.
For the full guide, see Custom thank-you page.