Request response only if half of displayed questions are unanswered - is this possible? | XM Community
Solved

Request response only if half of displayed questions are unanswered - is this possible?

  • 19 September 2018
  • 7 replies
  • 36 views

Badge +2
Hello smart people

I have this question:
!

The statements in the left column each have a display logic: only when a respondent filled in a name for "family member 1/2/3" or "friend 1/2/3" (etc.) will this statement (i.e. the name; which is piped text) be shown.

I'd like to add a "request response" to this question, but only when respondents have unanswered more than half of the shown questions.
Say, someone gets displayed 8 names. If this respondent fills in 6 questions, but not 2, that person should just be able to continue with the survey without being "pestered" by the response request. If this respondent leaves more than 4 questions unanswered, I'd like to nudge him to consider answering.

The easy solution is just to "request response" for the whole question in itself (regardless of how many statements get shown). This would mean that a respondent who answered, for example 11/12 names, will get shown the response request. My promotor and I think this might cause some drop-out; or are we being too sensitive now?
icon

Best answer by michielrpaul 19 September 2018, 17:52

View original

7 replies

Userlevel 3
Badge +1
Customisation is not available for request response, for this you can use custom validation
Userlevel 7
Badge +20
You can also achieve this through JavaScript.

Please refer to this post for guidance:
https://www.qualtrics.com/community/discussion/comment/5586#Comment_5586
Badge +2
> @christxy said:
> Customisation is not available for request response, for this you can use custom validation

Thanks, but in this case I seem to be simply unable to set a condition that would work for me.
1) I can't set a condition with "if question remains unanswered" (I can only set positive conditions, so to speak).
I could work by setting "Don't know" as standard answer, then set a condition like this: "Validation will pass if Don't know (count) is equal or less than <number>"

2) ! But, the amount of statements that is shown is conditional to a previous question in the survey (see the display logic arrows in the screenshot). Therefore, I need a sort condition that is relative ("more than half") to the amount of displayed statements.
Userlevel 3
Badge +1
Conditions will be very large, better make this as force response.
Badge +2
> @christxy said:
> Conditions will be very large, better make this as force response.

I agree, I'm rather making this specific validation too complex. I'm going ahead with a "request response"; if some respondents really do get annoyed by those requests & quit the survey, so be it (for now). Thanks for trying to help!
Userlevel 3
Badge +1
Great it's a good idea. Instead of wasting effort on making it complex better keep it simple to avoid errors.
Hello @socialmovemends ;

The solution will work for single choice matrix question

For this, we need a fake next button to make popover.

Step 1: Paste the following code in the look and feel -> advanced -> add custom css

#CustomButton{
border: none;
color: #fff;
font-size: 16px;
padding: 8px 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
-o-border-radius: 4px;
border-radius: 4px;
cursor: pointer;
margin: 0;
text-align: center;
text-decoration: none;
-webkit-appearance: none;
transition: background .3s;
background-color: #c32432;
}

Step 2: Paste the following code in the js(onready) of the matrix question:

const that=this;
this.hideNextButton();
var btn = jQuery('<div id="Buttons"><input id="CustomButton" class="NextButton Button" title=" Next " type="button" name="NextButton" value=" Next " aria-label="Next"></div>')
jQuery('#Buttons').append(btn);

jQuery('#CustomButton').on('click', function(){
var cr=parseInt(jQuery(".ChoiceRow").length)/2;
var ch=parseInt(jQuery("📻checked").length);
if(ch<cr) { var r = confirm("You have only gave the details of "+ch+" family members. Click Ok to continue or cancel to give more "); }
else { that.clickNextButton(); }
if (r == true) {
that.clickNextButton();
} else {

}

});

Output: Only 3 family member detail is given out of 8. See the!
image

Leave a Reply