In the first page of my survey, I have some questions relating to consent. If the user does not consent, I don't want them to see the rest of the survey, so I have set those pages to hidden unless the first question is 'yes.'
Let's say:
Question 1:
yes / no
Question 2:
Yes/no
Question 3:
City, Country
Question 4:
yes/no
If the user answers No to Q1, none of the following questions should be shown and survey is submitted immediately.
But, if user selects yes to Q1 and no to Q2, I need 3 and 4 to become required and visible. However, they are required but they don't "stop" the survey from going forward, the user can still proceed. In the image below, it is possible to click the proceed arrow even though the question is required!!!!
Does anyone have any ideas?
Solved! Go to Solution.
It looks like I didn't need ifs afterall...
I used
(${Q1}='yes' and ${Q2}='yes_') or (${Q!}='yes' and ${Q2}='no_' and ${Q4}='yes_gdpr').
Unfortunately Q3 was a text field which required that the user hit their enter key for the expression to be valid, so had to take that one out.
For the subsequent pages that are hidden until the first page is filled out completely, try a logic statement that covers every scenario.
Something like this (my own "pseudocode", not official syntax)...
[page is visible] IF (Q1 = 'Yes' AND Q2 = 'Yes') OR (Q1 = 'Yes' AND Q2 = 'No' AND Q3 != '' AND Q4 != '')
Hi Katherine,
Thanks for your answer. Do you have any resources on where to study how to form these statements? I have tried:
if(${Q1}='Yes, I consent' and ${Q2}='Yes, I live in xyz') or if(${Q1}='Yes, I consent' and ${Q2}='No, I live somewhere else' and ${Q3} !='' and ${Q4} !='')
But I keep getting the error: "If statements require three arguments, 1 provided." The thing is, Q1, Q2, and Q4 are single select, so I understood the = sign was okay. Q3 is text.
I understand from here that an if should be "if condition is met, return x if TRUE and y if FALSE." But what would be returned here? I just want the question to show up if the condition is met.
Many thanks for this new user.
It looks like I didn't need ifs afterall...
I used
(${Q1}='yes' and ${Q2}='yes_') or (${Q!}='yes' and ${Q2}='no_' and ${Q4}='yes_gdpr').
Unfortunately Q3 was a text field which required that the user hit their enter key for the expression to be valid, so had to take that one out.