Still don't have a solution for how to directly get values of unchecked checkboxes, but I was at least able to write a function that compares the correct answer to the submission.
This splits the correct answer into an array then compares each item to the submission:
function checkAnswer(answer, key) {
var kArray = key.split(', ');
var nArray = [];
for (i=0; i<kArray.length; i++) {
if (answer.indexOf(kArray[i]) == -1) {
nArray.push(kArray[i]);
}
}
return nArray.join(", ");
}
Then I could call it every time I needed to report the boxes left unchecked. For example, with the doors question:
if (doors != correctDoors) {
var doorsMessage = "Unlocked: " + checkAnswer(doors, correctDoors);
report.push(doorsMessage);
}
At the end, I'll compile the report with:
report.join("\n");
And voila! The best I could do...
Ultimately, I'm still looking for how to directly get the unchecked boxes if anyone has a solution.
No you can't, because Forms doesn't require a user to enter a value for Other, so your respondents most likely didn't enter one.
NB I just submitted a response that doesn't have a value, and a second response that does. I believe you will see two responses, and will be able to see the "this is an Other value" text for the second one.
I cannot see any way to make Forms insist that text is entered in the other text-box.
Best Answer
You might have to open up the spreadsheet where the results are stored, and make your own manual summary. I don't think that Forms automatic summary can cope with this in any way.