Bibliophelia
|
|
Group: Forum Members
Posts: 8,
Visits: 75
|
+x+x+xHi 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
|
|
Group: Forum Members
Posts: 8,
Visits: 75
|
+x+xHi 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
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+xHi 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
|
|
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
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
You can use /isvalidresponse as detailed in Sean's reply above:
<openended myopenended> [...] / isvalidresponse = [openended.myopenended.latency >= 10000]
|
|
|
Lisanne
|
|
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
|
|
Group: Forum Members
Posts: 10,
Visits: 1
|
Nevermind, I found something that works! / trialduration= integer
|
|
|
JessicaD
|
|
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
|
|
|
seandr
|
|
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
|
|
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.
|
|
|