Skip survey question and return to later.


Author
Message
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
Re. #1: If you run pages via a <survey>: No, not really. If you run pages via a <block>: Yes, you'll see that in the response column.

Re. #2: With <textbox> elements on a <surveypage>: No. If running an <openended> trial via a <block> instead: Yes, you can log the firstchar- and lastcharlatency properties to the data file.

ibaxendine
ibaxendine
Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)
Group: Forum Members
Posts: 5, Visits: 27
Is there a way I can get this script to mark if someone's initial response was 'skip'?

Also, if some answers are typed, can I get the time it took to start / finish typing?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
The latency column(s) tell you when responses on a <surveypage> were submitted (by clicking the "Next" button). There is no way to get latencies for individual questions if you have several on a page, because there is no unambiguous way to say what that latency should be. After all, you can move back and forth between questions on a page, change your responses, etc.

In addition, if you want to be able to move back and forth between *pages*, you ought to run the surveypages via <survey> element, not a <block>. This, however, may create problems with the /skip logic and/or data recording (survey data is recorded as a single row, each question represented via several columns; i.e., you'd only get the latency and response for the *last* time someone answered a given question).

If all you want is making answering questions *not mandatory*, set their /required attributes to false and run pages via a <survey>. That way, a participant can skip certain questions on a page and revisit them later if s/he so chooses.

ibaxendine
ibaxendine
Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)Partner Member (913 reputation)
Group: Forum Members
Posts: 5, Visits: 27
Hi!

I realise this post is quite old, but the above script is almost perfect for what I want. 

I'm completely new to inquisit, and am using it for a research project. I'd like to create a questionnaire as above, but in addition to having the ability to skip and return to a question, I'd also like to time how long it takes respondents to answer the question. 

Can anyone offer any help as to how I can add this to the above tutorial?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K

The back button option unfortunately won't work with my design; the participant must eventually respond to the question.


Ok, I see.


I have come up with the following that works [...]


Indeed, that's a good idea. Once could also do something along the lines of (posted for the sake of posterity):


<block myblock>
/ trials = [1-2=sequence(pg1,pg2,pg3)]
</block>

<surveypage pg1>
/ caption = "Page 1"
/ questions = [1=rb1]
/ skip = [radiobuttons.rb1.response=="A" || radiobuttons.rb1.response=="B" || radiobuttons.rb1.response=="C"]
</surveypage>

<surveypage pg2>
/ caption = "Page 2"
/ questions = [1=rb2]
/ skip = [radiobuttons.rb2.response=="A" || radiobuttons.rb2.response=="B" || radiobuttons.rb2.response=="C"]
</surveypage>

<surveypage pg3>
/ caption = "Page 3"
/ questions = [1=rb3]
/ skip = [radiobuttons.rb3.response=="A" || radiobuttons.rb3.response=="B" || radiobuttons.rb3.response=="C"]
</surveypage>

<radiobuttons rb1>
/ options = ("A", "B", "C", "Skip")
</radiobuttons>

<radiobuttons rb2>
/ options = ("A", "B", "C", "Skip")
</radiobuttons>

<radiobuttons rb3>
/ options = ("A", "B", "C", "Skip")
</radiobuttons>


lsprute
lsprute
Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Thanks for the quick response!


The back button option unfortunately won't work with my design; the participant must eventually respond to the question.  I have come up with the following that works.  Thanks again for clarifying the functionality of skip.


Best,


Lisa




------------------------


<radiobuttons Q1>


/ caption = "Here is the first question?"


/ options = ("Yes", 


"No",


"I am not sure",


"Skip")


/ optionvalues = ("0", "1", "5","Skip")


</radiobuttons>



<radiobuttons Q1again>


/ caption = "Here is the first question?"


/ options = ("Yes", 


"No",


"I am not sure")


/ optionvalues = ("0", "1", "5")


</radiobuttons>


------------------------


<image 8shapes>


/ position = (40%,10%)


/ items = ("8shapes.png")


</image>



<radiobuttons Q3>


/ caption = "This is my second question"


/ options = ("#1", "#2", "#3", "#4", "Answer not here","Skip")


/ optionvalues = ("0","0","1","0","5","Skip")


/ position = (40%,50%)


</radiobuttons>



<radiobuttons Q3again>


/ caption = "This is my second question"


/ options = ("#1", "#2", "#3", "#4", "Answer not here")


/ optionvalues = ("0","0","1","0","5")


/ position = (40%,50%)


</radiobuttons>



-----Survey Pages-----


<surveypage Ques1>


/ questions = [1=Q1] 


/ showquestionnumbers = false


</surveypage>



<surveypage Ques3>


/ questions = [1=8shapes; 2=Q3] 


/ showquestionnumbers = false


</surveypage>



<surveypage Ques1again>


/ questions = [1=Q1again] 


/ showquestionnumbers = false


/ skip=[radiobuttons.Q1.response != "Skip"]


</surveypage>



<surveypage Ques3again>


/ questions = [1=8shapes; 2=Q3again] 


/ showquestionnumbers = false


/ skip=[radiobuttons.Q3.response != "Skip"]


</surveypage>



<survey RNAssessment>


/ pages = [1=Ques1; 2=Ques3; 3=Ques1again; 4=Ques3again]


</survey>



Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K

/skip works at the page level, so there is no way to skip individual questions. It means *skip the entire page if some condition is met*. Thus



<surveypage Ques1>


/ questions = [1=Q1] 


/ showquestionnumbers = false


/ skip=[radiobuttons.Q1 >= 0]


</surveypage>



does not make much sense to me. How are you going to skip the page based on an event that has not occurred yet? Moreover


/ skip=[radiobuttons.Q1 >= 0]


can't do anything anyway, because radiobuttons.Q1 does not mean anything (it is not a property and does not return any value). You are probably looking for something like radiobuttons.Q1.response (see the documentation for the <radiobuttons> element for other available properties).


Finally, if you want participants to be able to not answer questions and review them later, you should simply (a) set the respective question's /required attribute to 'false' and (b) allow backnavigation in your <survey>.



lsprute
lsprute
Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)Partner Member (606 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Hello,


I am building a survey of questions that I would like a participant to have the option of skipping and then returning to after they have been through all the questions.  I can't quite figure out if I can do this with Inquisit. My current code is below.  I have also tried / skip=[radiobuttons.Q1 != "Skip"], and using the skip attribute in the survey element. These options skip all the questions before a participant has had the option of choosing skip.


Any thoughts?


Thanks,


Lisa



<radiobuttons Q1>


/ caption = "Here is the first type of question?"


/ options = ("Yes", 


"No",


"I am not sure",


"Skip")


/ optionvalues = ("0", "1", "Not sure","skip")


</radiobuttons>




<image 8shapes>


/ position = (40%,10%)


/ items = ("8shapes.png")


</image>




<radiobuttons Q3>


/ caption = "This is my second type of question"


/ options = ("#1", "#2", "#3", "#4", "Answer not here","Skip")


/ optionvalues = ("0","0","1","0","Not here","skip")


/ position = (40%,60%)


</radiobuttons>






<surveypage Ques1>


/ questions = [1=Q1] 


/ showquestionnumbers = false


/ skip=[radiobuttons.Q1 >= 0]


</surveypage>




<surveypage Ques3>


/ questions = [1=8shapes; 2=Q3] 


/ showquestionnumbers = false


/ skip=[radiobuttons.Q3 >= 0]


</surveypage>



<survey RNAssessment>


/ pages = [1=Ques1; 2=Ques3]


</survey>



GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search