Skip to content

Question types

The Add a question palette
The Add a question palette

This page is the index of the question types, written by hand. A per-type reference, generated from the builder’s own list of types and options, will sit beside it. Until then the options below are the labels in the builder.

TypeStoresOptions
Short textTextThe question settings.
ParagraphTextAs Short text.
EmailText, checked as an addressAs Short text.
PhoneText, with a country pickerAs Short text.
Web addressText, checked as an addressAs Short text.
NumberA number, decimals allowedAs Short text.
RatingA whole numberNumber of stars.
SliderA numberMinimum, Maximum, Step.
DateA datePrecision: Day, Month or Year. Month and Year save the first day.
TimeA timePrecision: Minute or Hour.
Date and timeA date and timePrecision: Minute or Hour.
ChoiceOne option, or severalChoice style: Dropdown (one), Radio buttons (one), Checkboxes (many). Each option has a Label and a Value. See below for Use the field’s allowed values.
ConsentYes or noConsent statement, Emphasis: Neutral, Highlight, Caution, Important.
Yes / NoTrue or falseStyle: checkbox or switch. Never required: unticked is No.
LookupA value, or a whole recordSee Data sources and lookups.
PersonA person or groupWhat can be picked: People, Groups or People and groups. Allow more than one, Most that can be picked, Limit the choices to these groups.
File uploadOne or more filesFiles accepted: Documents and images, Documents only, Images only, Any file.
Choose a file in FoldrA reference to a file in FoldrChoose from: One share or Limit to a share or folder. Only signed-in people can answer.
SignatureA drawn or typed signatureThe question settings.
Hidden valueA value worked out on the server, never askedValue (an expression), or a preset: Submitter email, Submitter name, Username. It can be saved to a field.
TableA list of rowsSee below.

A Person question on a form anyone can open must have at least one group in Limit the choices to these groups, or the respondent could search everyone in your Foldr. On a form filled in stages, this applies only to questions filled at the first stage. A Person question filled at a later stage is answered by a signed-in user the form was passed to, so it needs no group limit. A Choose a file in Foldr respondent can only pick files they are allowed to open. Programs, scripts and web pages are never accepted as uploads.

A Choice question that has Save answer to field set to a field with allowed values shows Use the field’s allowed values. Switch it on and the options are that field’s current allowed values on the form’s destination share. Foldr reads them each time the form opens, so a change to the field’s list reaches the form without publishing again.

The builder shows the list read-only, labelled From and the field’s name, in the question’s settings, on its card in the canvas and in Preview. Edit the list on the share, not in the form.

If the field loses its list, or the question stops saving to that field, the question’s own options apply, and the builder says so.

Every Choice answer must be one of the question’s option values, whether the options are its own or the field’s. Anything else is refused with Choose from the list. With several answers allowed, each one is checked.

Never put a credential in a hidden value. The expression and the field it fills can be seen in the page’s data. Its value is worked out again on the server when the response is saved.

A Table question collects repeating rows. Each column has a Label, Type, Key and the options for that type. The column types include text, number, choice, yes/no and lookup. A lookup column looks up per row as the person types.

  • Show total on a number column totals it under the table.
  • Computed value (optional) makes a read-only column worked out per row from other columns by key: row.miles * row.rate.
  • Save to (multi-value field) writes the column to a custom field that holds several values.
  • Minimum rows, Maximum rows and Add-row button label set the limits and the button.
{"answers": {"items": [{"qty": 2, "price": 4.5}, {"qty": 1, "price": 10}]}}
mash.collect(answers.items).sum('qty')
3
Table question settings: columns, totals and a computed column
Table question settings: columns, totals and a computed column
A table row adds up as you type

These show something and store nothing.

TypeOptions
DocumentLinked file (a shared file), Allow download, Require opening before submit. A public form can only show a file shared with a Public link.
ImagePicture: Upload a picture, A file you have shared, A web address or Your logo. Description, Caption, Maximum width, Position.
VideoA video you have shared or A video on another website. Show playback controls, Play automatically, Start with the sound off, Repeat when it ends.
Text / HTMLContent, with basic formatting only. Live answers can be put in with {{ answers.key }}.
ButtonButton text, Button style (Primary, Neutral, Success, Danger), Button width, On click actions. See Logic.

An image is stored with the form, at most 8 MiB and about 25 megapixels. Larger pictures are resized. Link a shared file for anything big.

TypeWhat it does
SectionA heading with a Section title.
Page breakStarts a new page, with Page title, Page description and Skip logic.
PanelGroups questions. Style: Card (boxed) or Fieldset (legend + rule). Show this panel when hides everything inside.
ColumnsPuts questions side by side in 2 columns or 3 columns, stacking on a small screen. Show these columns when.

Panels and columns can hold questions, but not every type can go inside every other. The palette shows Can’t go in this slot for a type that cannot.

A Panel (card style) holding questions and a Columns row, in the builder
A Panel (card style) holding questions and a Columns row, in the builder

Form width is in Settings > Look & options: Standard, Wide or Full. Use Wide or Full with columns.

Generated pages for each type will list here when the question-type registry is published.