- Posts: 8
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Notifying a user if he didn't answer a a non-mandatory question
- davidspivak
- Topic Author
- Offline
- New Member
Less
More
12 years 1 month ago #76801
by davidspivak
Notifying a user if he didn't answer a a non-mandatory question was created by davidspivak
Hi,
Is there a way to notify someone that he didn't answer a non-mandatory question?
I want to do this because some participants might skip a question unintentionally, and not necessarily because it was non-mandatory.
Thanks!
David
Is there a way to notify someone that he didn't answer a non-mandatory question?
I want to do this because some participants might skip a question unintentionally, and not necessarily because it was non-mandatory.
Thanks!
David
The topic has been locked.
- tpartner
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 10109
- Thank you received: 3593
12 years 1 month ago #76802
by tpartner
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Replied by tpartner on topic Notifying a user if he didn't answer a a non-mandatory question
You can use JavaScript to do this.
What question type is it?
What question type is it?
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
- davidspivak
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
12 years 1 month ago #76804
by davidspivak
Replied by davidspivak on topic Notifying a user if he didn't answer a a non-mandatory question
Array with 5 sub-questions.
The topic has been locked.
- tpartner
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 10109
- Thank you received: 3593
12 years 1 month ago #76805
by tpartner
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Replied by tpartner on topic Notifying a user if he didn't answer a a non-mandatory question
So, you want to warn if they skip any row in the array or just if they skip the whole array?
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
- davidspivak
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
12 years 1 month ago - 12 years 1 month ago #76806
by davidspivak
Replied by davidspivak on topic Notifying a user if he didn't answer a a non-mandatory question
I was thinking about warning them if they skipped any row in the array, but it would be great to have the code for skipping a whole question as well for future use (if they unintentionally skip a yes/no question, for example).
Thanks!
EDIT: i'd like the message to say something like: "You did not answer question {QUESTION-NUMBER}. Are you sure you don't want to answer that question?"
Or for a specific subquestion in an array: "You did not answer subquestion {SUBQUESTION_NUMBER} in question {QUESTION-NUMBER}. Are you sure you don't want to answer that subquestion?"
Thanks!
EDIT: i'd like the message to say something like: "You did not answer question {QUESTION-NUMBER}. Are you sure you don't want to answer that question?"
Or for a specific subquestion in an array: "You did not answer subquestion {SUBQUESTION_NUMBER} in question {QUESTION-NUMBER}. Are you sure you don't want to answer that subquestion?"
Last edit: 12 years 1 month ago by davidspivak. Reason: more info
The topic has been locked.
- tpartner
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 10109
- Thank you received: 3593
12 years 1 month ago #76807
by tpartner
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Replied by tpartner on topic Notifying a user if he didn't answer a a non-mandatory question
1)
Set up your survey to use JavaScript
.
2) Add the following script to the source of the array. Replace "QQ" with the array question ID .
The script interrupts the Next/Submit process and if an unanswered row is found in the array, the respondent is asked if they would like to continue. This script is for array questions but could be modified for radio questions.
2) Add the following script to the source of the array. Replace "QQ" with the array question ID .
The script interrupts the Next/Submit process and if an unanswered row is found in the array, the respondent is asked if they would like to continue. This script is for array questions but could be modified for radio questions.
Code:
<script type="text/javascript" charset="utf-8"> $(document).ready(function() { checkArray(QQ, 'You did not answer the question. Do you really want to continue?') function checkArray(qID, msg) { // Interrupt next/submit function $('#movenextbtn, #movesubmitbtn').click(function(){ var failTest = ''; $('#question'+qID+' tbody[id^="javatbd"]').each(function(i) { if($('input.radio:checked', this).length < 1) { failTest = 1; $('th, td', this).css({'background':'pink'}); } else { $('th, td', this).css({'background':''}); } }); if(failTest == 1) { if(confirm(msg)) { return true; } else { return false; } } }); } }); </script>
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
- davidspivak
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
12 years 1 month ago #76812
by davidspivak
Replied by davidspivak on topic Notifying a user if he didn't answer a a non-mandatory question
Thanks so much, worked like a charm!
I noticed it highlights the unanswered question in pink, but is it also possible to make the pop-up message say which question was left unanswered?
I noticed it highlights the unanswered question in pink, but is it also possible to make the pop-up message say which question was left unanswered?
The topic has been locked.
- tpartner
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 10109
- Thank you received: 3593
12 years 1 month ago #76815
by tpartner
Oops, just noticed a possible bug in 1.92...use this instead:
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Replied by tpartner on topic Notifying a user if he didn't answer a a non-mandatory question
Yes, you can just modify the message in the function call:...but is it also possible to make the pop-up message say which question was left unanswered?
Code:
checkArray(QQ, 'You did not answer question 4. Do you really want to continue?');
Oops, just noticed a possible bug in 1.92...use this instead:
Code:
<script type="text/javascript" charset="utf-8"> $(document).ready(function() { checkArray(QQ, 'You did not answer the question. Do you really want to continue?'); function checkArray(qID, msg) { // Interrupt next/submit function $('#movenextbtn, #movesubmitbtn').click(function(){ var failTest = ''; $('#question'+qID+' tbody[id^="javatbd"]').each(function(i) { if($('input.radio:checked', this).length < 1) { failTest = 1; $('th, td', this).css({ 'background':'pink' }); } else { $('th, td', this).css({ 'background':'' }); } }); if(failTest == 1) { if(confirm(msg)) { return true; } else { return false; } } }); } }); </script>
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
- davidspivak
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
12 years 1 month ago #76816
by davidspivak
Replied by davidspivak on topic Notifying a user if he didn't answer a a non-mandatory question
I see, Thanks!
Is it possible to insert such a piece of code into the template instead of putting it in each question, so that the survey automatically checks for unanswered questions in each page and then notifies the participant about it?
Is it possible to insert such a piece of code into the template instead of putting it in each question, so that the survey automatically checks for unanswered questions in each page and then notifies the participant about it?
The topic has been locked.
- DenisChenu
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13645
- Thank you received: 2491
12 years 1 month ago #76844
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Notifying a user if he didn't answer a a non-mandatory question
Hello,
For pseudo non-mandatory question, i use a lot:
- Add a 'I don't want to answer' answer
- Set to mandatory
For pseudo non-mandatory question, i use a lot:
- Add a 'I don't want to answer' answer
- Set to mandatory
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- tpartner
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 10109
- Thank you received: 3593
12 years 1 month ago #76861
by tpartner
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Replied by tpartner on topic Notifying a user if he didn't answer a a non-mandatory question
Yes, you can put this in template.js but if you want to check every question in the survey, you will need different code for every question type and search for those types on every page.Is it possible to insert such a piece of code into the template instead of putting it in each question...
Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
- kwalker
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 0
4 years 4 months ago #191806
by kwalker
Replied by kwalker on topic Notifying a user if he didn't answer a a non-mandatory question
I am trying to use this script with LS 2.54, but it isn't working. I am assuming it will need to be updated? Would someone be able to help with this?
The topic has been locked.