Millisecond Forums

Multiple choice / open-ended with user feedback

https://forums.millisecond.com/Topic17004.aspx

By ibaxendine - 8/23/2015

Hello, 

I'm trying to create a script that will present participants with a question, show their answer and a pre-defined 'correct' answer, and then ask the participant if they would like to repeat the question. I don't want the script to delineate between correct and incorrect answers, but rather, ask the participant if their response was correct, and if not, to repeat the question. The way I have done this is with two pages (eventually, two per question once I can get the first working). The first page presents the question, and the second contains the user-entered answer, a correct answer, and a yes-no radio box asking if the user would like to see the question again. 

My issue is with the second page. I have tried numerous ways of attempting to get it to output the user response in the first page, to no avail. I believe the issue might be that what I'm trying to do is impossible with surveypage elements? 

Ideally, I'd like to create two identical tests performing this function; one multiple choice and the other open-ended. What changes / recommendations would allow me to do this?


I've pasted my current code below.
------------Preamble------------

<expt>
/ preinstructions = (intro)
/ blocks = [1=questions]
/ postinstructions = (end)
</expt>

<block questions>
/ trials = [1-200=sequence(pg1a,pg1b)]
</block>

<data>
/columns =[date time subject trialnum trialcode latency response]
/format=tab
</data>

<defaults>
/screencolor = (175, 255, 175)
/font = ("Arial", -24, 700, 0, 49)
/txbgcolor=(255,255,255)
</defaults>

<page intro>
Hi. This is the opening page
</page>

<page end>
Here's the last page!
</page>

-----Questions-----

Question 1
Question

<item responsepg1>
</item>

<radiobuttons pg1aq>
/ caption = "Which is the correct answer?"
/ options = (
"A - Correct",
"B - Incorrect",
"C - Incorrect",
"D - Incorrect",
"Pass")
</radiobuttons>

<radiobuttons pg1bq>
/ caption = "Would you like to repeat this question?"
/ options = (
"Yes",
"No")
/ optionvalues = ("0", "1")
</radiobuttons>

<text pg1bt>
/items = responsepg1
</text>

<caption pg1af>
/ caption = "You answered with '<% text.pg1bt.responsepg1, 1 %>'. The correct answer was A."
</caption>


Pages

<surveypage pg1a>
/ questions = [1=pg1aq]
/ showquestionnumbers = false
/ skip = [radiobuttons.pg1bq.response=="1"]
/ ontrialend = [item.responsepg1.insertitem(radiobuttons.pg1aq.response, 1)]
</surveypage>

<surveypage pg1b>
/ questions = [1=pg1af; 2=pg1bq]
/ skip = [radiobuttons.pg1bq.response=="1"]
/ showquestionnumbers = false
</surveypage>

By Dave - 8/23/2015

This is not valid Inquisit syntax:

<caption pg1af>
/ caption = "You answered with '<% text.pg1bt.responsepg1, 1 %>'. The correct answer was A."
</caption>

The correct way to retrieve the 1st item in <text pg1bt> is

<caption pg1af>
/ caption = "You answered with '<% text.pg1bt.item(1) %>'. The correct answer was A."
</caption>
By ibaxendine - 8/23/2015

Oh, thanks a lot! I didn't realise my issue had been so simple all along!