Check out the LimeSurvey source code on GitHub!

Changing the value of a previous question

More
4 years 2 months ago #89382 by StuartMark0
I have currently set up a variable called isvalid which I am setting to 1 by default. When I ask q1, if the respondent answers this with a value of 2 I want this to reset the value of isvalid to 2.

I have set up a separate equation question with the following text in the question field - yet it doesn;t seem to be doing this validation.
{if (q1=='2',isvalid=='2',isvalid=='1')}

JavaScript is enabled and I am using v1.92 build 120909.

I think this is a simple problem to fix but just can't seem to work this out.

Many thanks

Please Log in to join the conversation.

More
4 years 2 months ago #89410 by tpartner
Is "isvalid" just a JavaScript variable or a question code?

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
4 years 2 months ago #89472 by StuartMark0
“isvalid” is a question. Thanks

Cheers,
Mark.

Please Log in to join the conversation.

More
4 years 2 months ago #89495 by tpartner
As far as I know, you cannot use an equation question to set the value of another question.

You may need to use JavaScript to do this. (with a listener on q1)

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
4 years 2 months ago #89507 by DenisChenu
Yep,

Or easy way:
QCODE: isvalid
QTEXT: {if (q1=='2','2','1')}

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
4 years 2 months ago #89608 by StuartMark0
Thanks for this - that works fine for one questions.

If I was needing to revalidate the contents of isvalid later on (for instance checking if q5 was 1), how would be the best way to do this?

thanks
Mark

Please Log in to join the conversation.

More
4 years 2 months ago #89640 by DenisChenu
2 Equation question:

1st:
QCODE: isavlid1
QTEXT: {if (q1=='2','2','1')}

2nd (or at end)
QCODE: isavlid
QTEXT: {if (q5=='1' and isvalid1=='1','1',isvalid1)}

Think it worked.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form