Millisecond Forums

Open ended - No response gets the response from the previous trial

By ashkan - 8/26/2016

I have a block which calls open ended trials multiple times. It seems like if you put no response and just submit the empty box, it takes the response from the previous trial.

If I enter a value for one open ended trial, but leave the box blank for the next trial, it will still use the response value from the previous trial.

Is there anyway around this? I can't manually set the response param to empty at the start since it is read only.

By Dave - 8/26/2016

You are right, that looks like a bug (i.e., the 'response' property is properly cleared in case on a non-response). Can you give me more some more detailed info on what your particular <openended> expects (the type of input, are people supposed to be required to submit a response, does it have a timeout, etc.)? Then perhaps I can construct a workaround for the case at hand.
By ashkan - 8/26/2016

The input should be one word. If the subject does not know the answer, they have the option of skipping it by leaving it blank. There is also no timeout for the trial. It will stay on the given trial until the subject clicks on the openended button.
By Dave - 8/26/2016

Thanks. Then, I think, making use of the /defaultresponse attribute and setting it to a single space should work reasonably well in this case.

<block someblock>
/ trials = [1-4 = myopenended]

<openended myopenended>
/ defaultresponse = " "
By Dave - 8/26/2016

Come to think of it, another viable alternative may be to use a <surveypage> / <textbox> combination instead of <openended>:

<block myblock>
/ trials = [1-4 = mypage]

<surveypage mypage>
/ stimulusframes = [1=sometext]
/ questions = [1=mytextbox]
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (45%, 55%)
/ navigationbuttonsize = (10%, 5%)
/ finishlabel = "Submit"

<textbox mytextbox>
/ required = false
/ textboxsize = (10%, 5%)
/ position = (45%, 47.5%)

<text sometext>
/ items = ("Enter something")
/ position = (50%, 40%)

By ashkan - 8/30/2016

Thank you, defaultresponse did the trick!