Millisecond Forums

Custom exit pages after ctrl Q or ctrl B

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

By francescodf - 12/20/2017

Hi there,

is it possible to change the exit page when you press CTRL Q or CTRL B?

Is it possible to disable these keys?

Many thanks
By Dave - 12/20/2017

francescodf - Wednesday, December 20, 2017
Hi there,

is it possible to change the exit page when you press CTRL Q or CTRL B?

Is it possible to disable these keys?

Many thanks

> is it possible to change the exit page when you press CTRL Q or CTRL B?

Yes, you should be able to set the finishpage based on the respective response:

<block myblock>
/ ontrialend = [
    if (block.myblock.response =="CTRL+'Q'" || block.myblock.response == "CTRL+'B'")
    defaults.finishpage = "http://sad.trom.bone/"
]

/ trials = [1-4 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount+1%>")
</text>

<data>
/ columns = (blocknum blockcode trialnum trialcode latency response defaults.finishpage)
/ separatefiles = true
</data>

> Is it possible to disable these keys?

No.
By sadelavega - 7/10/2019

Dave - 12/20/2017
francescodf - Wednesday, December 20, 2017
Hi there,

is it possible to change the exit page when you press CTRL Q or CTRL B?

Is it possible to disable these keys?

Many thanks

> is it possible to change the exit page when you press CTRL Q or CTRL B?

Yes, you should be able to set the finishpage based on the respective response:

<block myblock>
/ ontrialend = [
    if (block.myblock.response =="CTRL+'Q'" || block.myblock.response == "CTRL+'B'")
    defaults.finishpage = "http://sad.trom.bone/"
]

/ trials = [1-4 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount+1%>")
</text>

<data>
/ columns = (blocknum blockcode trialnum trialcode latency response defaults.finishpage)
/ separatefiles = true
</data>

> Is it possible to disable these keys?

No.

Is there a standard/universal finishpage that can be used? "http://sad.trom.bone/" is not a valid web address and I don't want to create one just for this.
By Dave - 7/10/2019

sadelavega - 7/10/2019
Dave - 12/20/2017
francescodf - Wednesday, December 20, 2017
Hi there,

is it possible to change the exit page when you press CTRL Q or CTRL B?

Is it possible to disable these keys?

Many thanks

> is it possible to change the exit page when you press CTRL Q or CTRL B?

Yes, you should be able to set the finishpage based on the respective response:

<block myblock>
/ ontrialend = [
    if (block.myblock.response =="CTRL+'Q'" || block.myblock.response == "CTRL+'B'")
    defaults.finishpage = "http://sad.trom.bone/"
]

/ trials = [1-4 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount+1%>")
</text>

<data>
/ columns = (blocknum blockcode trialnum trialcode latency response defaults.finishpage)
/ separatefiles = true
</data>

> Is it possible to disable these keys?

No.

Is there a standard/universal finishpage that can be used? "http://sad.trom.bone/" is not a valid web address and I don't want to create one just for this.

Sure, you can redirect to Inquisit's default finish page, which is at https://www.millisecond.com/web/finish5.aspx
By sadelavega - 7/10/2019

Dave - 7/10/2019
sadelavega - 7/10/2019
Dave - 12/20/2017
francescodf - Wednesday, December 20, 2017
Hi there,

is it possible to change the exit page when you press CTRL Q or CTRL B?

Is it possible to disable these keys?

Many thanks

> is it possible to change the exit page when you press CTRL Q or CTRL B?

Yes, you should be able to set the finishpage based on the respective response:

<block myblock>
/ ontrialend = [
    if (block.myblock.response =="CTRL+'Q'" || block.myblock.response == "CTRL+'B'")
    defaults.finishpage = "http://sad.trom.bone/"
]

/ trials = [1-4 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount+1%>")
</text>

<data>
/ columns = (blocknum blockcode trialnum trialcode latency response defaults.finishpage)
/ separatefiles = true
</data>

> Is it possible to disable these keys?

No.

Is there a standard/universal finishpage that can be used? "http://sad.trom.bone/" is not a valid web address and I don't want to create one just for this.

Sure, you can redirect to Inquisit's default finish page, which is at https://www.millisecond.com/web/finish5.aspx

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?
By Dave - 7/10/2019

sadelavega - 7/10/2019

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?

Show me your code / link to the web experiment in question, please.
By sadelavega - 7/10/2019

Dave - 7/10/2019
sadelavega - 7/10/2019

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?

Show me your code / link to the web experiment in question, please.

This is the link:

https://research.millisecond.com/kelhoff/personratings.web

This is the code I used:

<block compatibletest1>
/ ontrialend = [
if (block.compatibletest1.response =="CTRL+'Q'" || block.compatibletest1.response == "CTRL+'B'")
  defaults.finishpage = "https://www.millisecond.com/web/finish4.aspx";
]
</block>

I only used this code for blocks compatibletest1, compatibletest2, incompatibletest1, and incompatibletest2. Even so, I was able to control + Q exit from the very beginning attributepractice block. Maybe I'm supposed to add it to all blocks though for control + B? Not sure what I'm missing.
By Dave - 7/10/2019

sadelavega - 7/10/2019
Dave - 7/10/2019
sadelavega - 7/10/2019

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?

Show me your code / link to the web experiment in question, please.

This is the link:

https://research.millisecond.com/kelhoff/personratings.web

This is the code I used:

<block compatibletest1>
/ ontrialend = [
if (block.compatibletest1.response =="CTRL+'Q'" || block.compatibletest1.response == "CTRL+'B'")
  defaults.finishpage = "https://www.millisecond.com/web/finish4.aspx";
]
</block>

I only used this code for blocks compatibletest1, compatibletest2, incompatibletest1, and incompatibletest2. Even so, I was able to control + Q exit from the very beginning attributepractice block. Maybe I'm supposed to add it to all blocks though for control + B? Not sure what I'm missing.

CTRL+B skips through blocks, so it's a bit puzzling what you expect that code to do when there are multiple blocks that can be skipped through. What the code does is set the finish page to the default finish page when CTRL+B is pressed at some point during a block that has that bit of code. The next block will and is supposed to follow nonetheless, the finish page only comes up when the script ends (by either completing the remainder of it or by terminating it via CTRL+Q). What's puzzling to me in addition is why you would even need or want that code, since your experiment is configured to direct to the standard finish page anyway upon end per:


Setting the defaults.finishpage property to some specific URL is mostly useful in cases where you want to dynamically redirect to different URLs, depending on something that happens during the script (i.e. is not and cannot be known in advance).

By sadelavega - 7/10/2019

Dave - 7/10/2019
sadelavega - 7/10/2019
Dave - 7/10/2019
sadelavega - 7/10/2019

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?

Show me your code / link to the web experiment in question, please.

This is the link:

https://research.millisecond.com/kelhoff/personratings.web

This is the code I used:

<block compatibletest1>
/ ontrialend = [
if (block.compatibletest1.response =="CTRL+'Q'" || block.compatibletest1.response == "CTRL+'B'")
  defaults.finishpage = "https://www.millisecond.com/web/finish4.aspx";
]
</block>

I only used this code for blocks compatibletest1, compatibletest2, incompatibletest1, and incompatibletest2. Even so, I was able to control + Q exit from the very beginning attributepractice block. Maybe I'm supposed to add it to all blocks though for control + B? Not sure what I'm missing.

CTRL+B skips through blocks, so it's a bit puzzling what you expect that code to do when there are multiple blocks that can be skipped through. What the code does is set the finish page to the default finish page when CTRL+B is pressed at some point during a block that has that bit of code. The next block will and is supposed to follow nonetheless, the finish page only comes up when the script ends (by either completing the remainder of it or by terminating it via CTRL+Q). What's puzzling to me in addition is why you would even need or want that code, since your experiment is configured to direct to the standard finish page anyway upon end per:


Setting the defaults.finishpage property to some specific URL is mostly useful in cases where you want to dynamically redirect to different URLs, depending on something that happens during the script (i.e. is not and cannot be known in advance).


What I'm aiming for is if someone uses control + B to skip a block, they're directed to the finish page. I don't want to have to go back into the data later and weed through who legitimately took the whole survey vs. who skipped blocks to finish faster and didn't actually go through everything. Sorry if I'm not being clear, I'm very inexperienced with Inquisit.
By Dave - 7/10/2019

sadelavega - 7/10/2019
Dave - 7/10/2019
sadelavega - 7/10/2019
Dave - 7/10/2019
sadelavega - 7/10/2019

Thanks! This worked for control + Q, but it does not work for control + B. Any suggestions?

Show me your code / link to the web experiment in question, please.

This is the link:

https://research.millisecond.com/kelhoff/personratings.web

This is the code I used:

<block compatibletest1>
/ ontrialend = [
if (block.compatibletest1.response =="CTRL+'Q'" || block.compatibletest1.response == "CTRL+'B'")
  defaults.finishpage = "https://www.millisecond.com/web/finish4.aspx";
]
</block>

I only used this code for blocks compatibletest1, compatibletest2, incompatibletest1, and incompatibletest2. Even so, I was able to control + Q exit from the very beginning attributepractice block. Maybe I'm supposed to add it to all blocks though for control + B? Not sure what I'm missing.

CTRL+B skips through blocks, so it's a bit puzzling what you expect that code to do when there are multiple blocks that can be skipped through. What the code does is set the finish page to the default finish page when CTRL+B is pressed at some point during a block that has that bit of code. The next block will and is supposed to follow nonetheless, the finish page only comes up when the script ends (by either completing the remainder of it or by terminating it via CTRL+Q). What's puzzling to me in addition is why you would even need or want that code, since your experiment is configured to direct to the standard finish page anyway upon end per:


Setting the defaults.finishpage property to some specific URL is mostly useful in cases where you want to dynamically redirect to different URLs, depending on something that happens during the script (i.e. is not and cannot be known in advance).


What I'm aiming for is if someone uses control + B to skip a block, they're directed to the finish page. I don't want to have to go back into the data later and weed through who legitimately took the whole survey vs. who skipped blocks to finish faster and didn't actually go through everything. Sorry if I'm not being clear, I'm very inexperienced with Inquisit.

Then what you need to do is call the script.abort() function when CTRL+B is pressed.

/ ontrialend = [if (block.compatibletest1.response == "CTRL+'B'") script.abort();]