How to Use Conditional Logic in Your Forms
What can it do
Conditional Logic allows you to take actions based on a user's interaction with the form.
- Send an admin email to firstname.lastname@example.org if the user selects Sales in the Type of request field
- Show Order ID field is the user selects Refund in the Issue type field
- Show a text message if the user selects Yes in the More info field
- Hide submit button if the user selects No in the Accept Terms field
- Trigger MailChimp if the user chooses Yes to the Subscribe checkbox field
- Redirect to http://example.com/next if the user selects Yes to Give Me Next Steps field
How to access it
To access the conditional logic panel click on the Logic icon on the top-left corner on the form edit page.
How does it work
A logic step has two parts:
- Conditions: This is user input or selection, example: field32 is Yes
- Actions: Events that happen if a condition is true, example:
redirect to http://example.com/
A condition is user input or selection. Conditions can use one of the following comparison types:
- is not
- is not empty
- is under
- is over
Actions are events that happen when a condition is found true.
There are 7 possible actions:
- show fields
You can show certain fields based on user input. Example:
Condition: if Issue Type is Refund
Action: show fields Order ID, Comments
- send email(s) to
You can send email notifications to certain email addresses. Example:
Condition: if Issue Type is Sales Enquiry
Action: send email(s) to email@example.com
- redirect to
Redirect the responder on form submit. Example:
Condition: if Your Comments contains Confused
Action: redirect to example.com/help/faq
- set value
You can set the value of a field if certain conditions are met. This is a powerful tool when used alongside math formulas.
- trigger addon
FormCrafts has dozens of third-party addons. By default all enabled addons are triggered when you submit the form. Using this logic you can choose to trigger an addon only when certain conditions are met. Example:
Condition: if Newsletter is "Yes, please do"
Action: trigger addon MailChimp
- disable the form
You can prevent the user from submitting the form, or moving to the next page, if certain conditions are met.
1. Show fields conditionally
We are creating a support ticket form and we ask the user for the nature of their issue. Based on their selection we will show links to some online resources. If they are not satisfied, we will allow them to submit a complaint.
We begin by adding a checkbox field labelled Issue Type and some possible options. Next we add text fields, one for each issue type containing links to resources. We add another checkbox field with one option, no==This does not resolve my issue and then a comment field and submit button.
We will configure logic steps as such:
The first three logic steps show text fields containing links based on user's Issue type selection. They also show the This is not helpful field.
The 4th logic step shows the Describe the Issue field and the Submit button if the user checks the This is not helpful checkbox (whose value is no) or they select the Issue Type as Other.
Note: we don't have to manually hide fields. If a field is set to show based on a conditional logic step then it would automatically be hidden on page load.
2. Send email to / redirect
Our organizations has different departments, but we want to use a common form to get user response. We can use conditional logic to route the responses to the appropriate department, and then also redirect the user to a URL for further information.
We add a checkbox field to our form labelled Department with some options.
Next we configure our logic steps as such:
3. Set value of
We are creating a quiz form. Once we have added all the question fields, we add two Hidden Fields to our form (Add Field -> Other -> Hidden), labelled Score and Message. We edit the Score field and under value we use math formula to sum the question fields. This hidden field will contain the user's quiz score. We leave the message field empty, but note the field ID, field19
Now we use conditional logic to show the user a message based on their score. If their score is less than 3, the message is, Next Time, and so on ...
The set value action uses this format
fieldID: field value
So in our case:
field19: Next Time
We have the message stored in a hidden field. Now we will show this message when the user sees the success text on completing the form. The success message is below your form.
1. Datepicker field
While using logic the value of a datepicker field is the difference of the selected data and today. If today is 1-Jan-2020, and the user selections 14-Jan-2020 in the datepicker field, the value used for logic is 14.
Example, if your logic step says:
If Date is under -2 Then Show Field X
This means that if the user selects a date that is more than two days before today, the form will show the Field X.
You can also use the format YYYY-MM-DD with dates.
If Date is under 2022-03-10 Then Show Field X
In this example the form will show Field X for all dates before 10th March, 2022.
2. Fileupload field
With a fileupload field the value is the number of files uploaded so far.
3. Tabular field and Matrix field
These fields are a composite of smaller fields, and cannot be used with conditional logic.