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


Author
Message
Bibliophelia
Bibliophelia
Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)
Group: Forum Members
Posts: 8, Visits: 75
Bibliophelia - Tuesday, July 24, 2018
Dave - Monday, July 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.

Hi there,

sorry for asking yet again but for me, neither /isvalidresponse nor /iscorrectresponse works for me.

When I set /isvalidresponse  = [values.count_All >= 4], nothing can be clicked or interacted with. I cannot move forward and need to end the task with Control + Q.
When I set /iscorrectresponse  = [values.count_All >= 4], I can interact with everything but will be able to move forward without completing at least 4 trials.

I am certain this must be easy to accomplish, so what am I doing wrong?

Thank you again,
Julia

In case somebody finds my post, I finally figured out how to do this!

1) I made a mistake in going through /ontrialend. Instead, I made sure that whenever I started a new trial (in my case, every trial was opening a pop-up box with information), my values.count_All variable was += 1. This variable counted my condition - how many pieces of information every participant had looked at.

2) I added a new branch to my experiment:

/branch = [if (trial.decisionboard.response == "finish" && values.count_All < 4) trial.decisionboard]

This branch forces participants to go back to my decision board unless they have opened at least four boxes with information.





Bibliophelia
Bibliophelia
Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)
Group: Forum Members
Posts: 8, Visits: 75
Dave - Monday, July 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.

Hi there,

sorry for asking yet again but for me, neither /isvalidresponse nor /iscorrectresponse works for me.

When I set /isvalidresponse  = [values.count_All >= 4], nothing can be clicked or interacted with. I cannot move forward and need to end the task with Control + Q.
When I set /iscorrectresponse  = [values.count_All >= 4], I can interact with everything but will be able to move forward without completing at least 4 trials.

I am certain this must be easy to accomplish, so what am I doing wrong?

Thank you again,
Julia

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: 101K
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.

Bibliophelia
Bibliophelia
Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)Partner Member (906 reputation)
Group: Forum Members
Posts: 8, Visits: 75
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




Attachments
DecisionBoard_Next_07-16-2018.iqx (837 views, 55.00 KB)
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: 101K
You can use /isvalidresponse as detailed in Sean's reply above:

<openended myopenended>
[...]
/ isvalidresponse = [openended.myopenended.latency >= 10000]
[...]
</openended>

Lisanne
Lisanne
Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)
Group: Forum Members
Posts: 16, Visits: 26
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!

JessicaD
JessicaD
Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)
Group: Forum Members
Posts: 10, Visits: 1

Nevermind, I found something that works!


/ trialduration= integer


JessicaD
JessicaD
Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)
Group: Forum Members
Posts: 10, Visits: 1

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



Attachments
PictureStoryExercise_JLD.exp (1.1K views, 7.00 KB)
seandr
seandr
Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)Supreme Being (142K reputation)
Group: Administrators
Posts: 1.3K, Visits: 5.6K

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


JessicaD
JessicaD
Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)Esteemed Member (2.2K reputation)
Group: Forum Members
Posts: 10, Visits: 1

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


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search