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!
|
|