Millisecond Forums

Can I disable "next" button on openended for a duration of time?

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

By JessicaD - 10/24/2010

I would like to use an openended trial to let participants write a
short essay. However, I would like to disable the possibility for the
participants to continue to the next page before they have spent a
certain amount of time on the essay and I want to make sure they don't hit the "next" button before that amount of time has passed.


I tried /trialduration and that doesn't help.  Any thoughts?


Jessica

By Dave - 10/24/2010

You can try using the /responsetime attribute.

By JessicaD - 10/24/2010

That only delays how soon you can start typing, it doesn't change the functionality of the "next" button.

By seandr - 10/24/2010

The /isvalidresponse would allow you to define a valid response as one that occurs after a certain interval of time. For example, the following would disallow participants from leaving the question until 30 seconds had passed:


<openended example>
...
/isvalidresponse = [openended.example.latency >= 30000]
...
</openended>

Or, you could also use the /iscorrectresponse and show show a feedback message if the next button is clicked too early.


<openended example>

...

/iscorrectresponse = [openended.example.latency >= 30000]
/ response = correct
/ correctmessage = (sometext, 0)

...

</openended>


There may be a typo in the code above since I haven't compiled it, but hopefully this gives you the idea. Note that this doesn't disable the next button per se (that's not currently possible with Inquisit), but it should prevent the participant from leaving the question too early.


Regards,
Sean

By JessicaD - 10/30/2010

I tried using your first suggestion and it didn't work.  Then I tried using your second suggestion and it never allowed me to go on to the next item.


I'm attaching my script for your reference; maybe that will help.


Jessica


By JessicaD - 10/30/2010

Nevermind, I found something that works!


/ trialduration= integer

By Lisanne - 2/4/2014

Hi,

I would also like to disable the next button for a specific amount of time before participants can continue to the next item. Yet, with your suggestions I have the problem  that it never allows me to go on to the next item. Besides, I don't want to use /trialduration as participants should be allowed to spend as much time on the trial as they want. Any ideas?


Thanks a lot!
By Dave - 2/4/2014

You can use /isvalidresponse as detailed in Sean's reply above:

<openended myopenended>
[...]
/ isvalidresponse = [openended.myopenended.latency >= 10000]
[...]
</openended>
By Bibliophelia - 7/15/2018

Hi Dave & other admins,

I hope it's okay I respond to this threat even though it's Inquisit 3, I work with Inquisit 4.

I already got great help from Dave and was hoping you could help me with a similar issue here. I want to disable the Next button (in my case, labeled "Make Decision") until participants have clicked on at lost 4 cells (that is, completed at least 4 trials within my experimental block).

I successfully added the following code, which collects the number of trials completed:

/ontrialend = [values.count_All = values.count_A1Weather + values.count_A2Sights + values.count_A3Price + values.count_A4Dining + values.count_A5Five + values.count_A6Six + values.count_B1Weather + values.count_B2Sights + values.count_B3Price + values.count_B4Dining + values.count_B5Five + values.count_B6Six + values.count_C1Weather + values.count_C2Sights + values.count_C3Price + values.count_C4Dining + values.count_C5Five + values.count_C6Six + values.count_D1Weather + values.count_D2Sights + values.count_D3Price + values.count_D4Dining + values.count_D5Five + values.count_D6Six + values.count_E1Weather + values.count_E2Sights +
values.count_E3Price + values.count_E4Dining + values.count_E5Five +values.count_E6Six]

However, I am not sure where to insert "[if (values.count_All >= 4) ...]" etc. into my code to connect the variable "values.count_All" to my Next button. Or would it be better to use "/isvalidresponse"? My code already has "/validresponse", so I am not sure how to go about adding "/isvalidresponse" as well. I know they can be used together.

I tried adding the if command to the following line but it only influences the concat, not that the participant is being send to the next page:

/ontrialend = [if (trial.decisionboard.response == "finish" && values.count_All >= 4) {values.viewingorder = concat(values.viewingorder, "decision")}]

I'm attaching the code. I'm sure this is easy to fix, I just can't seem to figure it out.

Thanks again so much! This forum is a lifesaver!

Best,
Julia



By Dave - 7/16/2018

Bibliophelia - Monday, July 16, 2018
Hi Dave & other admins,

I hope it's okay I respond to this threat even though it's Inquisit 3, I work with Inquisit 4.

I already got great help from Dave and was hoping you could help me with a similar issue here. I want to disable the Next button (in my case, labeled "Make Decision") until participants have clicked on at lost 4 cells (that is, completed at least 4 trials within my experimental block).

I successfully added the following code, which collects the number of trials completed:

/ontrialend = [values.count_All = values.count_A1Weather + values.count_A2Sights + values.count_A3Price + values.count_A4Dining + values.count_A5Five + values.count_A6Six + values.count_B1Weather + values.count_B2Sights + values.count_B3Price + values.count_B4Dining + values.count_B5Five + values.count_B6Six + values.count_C1Weather + values.count_C2Sights + values.count_C3Price + values.count_C4Dining + values.count_C5Five + values.count_C6Six + values.count_D1Weather + values.count_D2Sights + values.count_D3Price + values.count_D4Dining + values.count_D5Five + values.count_D6Six + values.count_E1Weather + values.count_E2Sights +
values.count_E3Price + values.count_E4Dining + values.count_E5Five +values.count_E6Six]

However, I am not sure where to insert "[if (values.count_All >= 4) ...]" etc. into my code to connect the variable "values.count_All" to my Next button. Or would it be better to use "/isvalidresponse"? My code already has "/validresponse", so I am not sure how to go about adding "/isvalidresponse" as well. I know they can be used together.

I tried adding the if command to the following line but it only influences the concat, not that the participant is being send to the next page:

/ontrialend = [if (trial.decisionboard.response == "finish" && values.count_All >= 4) {values.viewingorder = concat(values.viewingorder, "decision")}]

I'm attaching the code. I'm sure this is easy to fix, I just can't seem to figure it out.

Thanks again so much! This forum is a lifesaver!

Best,
Julia




Yes, you will need to use /isvalidiresponse for this. You cannot handle this with /ontrialend.