[open] require response for rating scale
Hello,
I'm trying to use a rating scale Form, but I need to make sure participants actually record a response before clicking the next button (and I want to keep the next button there). I'm using the rating scale form base in a loop so that my question text and response variable are drawn from the loop variables. Here's the code:
set cols "1;1;1"
set description "A generic form plug-in"
set rows "1;1;1;1;1"
widget 0 0 3 1 label text="[text]"
widget 0 2 3 1 rating_scale var="EPQ[num]" nodes="not at all;slightly;moderately;very much;extremely"
widget 2 4 1 1 button text="next"
But I want people not to be able to click next without selecting a response. I've tried to use a solution I found elsewhere by including a inlinescript after the form base, but it's not working. Here's the code for my inline script:
response = self.get('EPQ[num]')
while True:
if 'None' in 'response':
exp.items['_EPQ'].prepare()
exp.items['_EPQ'].run()
response = self.get('EPQ[num]')
else:
break
Any suggestions?? Thanks in advance!
Comments
Hi,
your code seems to go in the right direction. Why exactly is it not working. Is there an error message, or is it just ignored?
Eduard
Hi, sorry for the slow response. I get an error that 'EPQ[num]' is not a variable or something like that.
Hey,
I think the problem of your code is,
'EPQ[num]'is not evaluated as the indexing of a list, but simply as astring. Therefore,self.get()is trying to find the variable with the labelEPQ[num]and not the variable that is stored at the 'numth' position of EPQ. What you should do is separating the indexing part from retrieving the variable, e.g. by saving the actual value of EPQ[num] in a new variable, which you then can find in yourexperimentobject.Does this help?
Good luck,
Eduard