PennController for IBEX › Forums › Support › Skipping Trials
- This topic has 4 replies, 2 voices, and was last updated 1 year, 5 months ago by girlflamee.
December 6, 2021 at 12:30 pm #7572
It appears that my experiment is skipping the last two trials of my experiment, which are a debriefing (“final”) and a thank you (“thanks”) page. I have included these in the sequence order but it just appears to send results after the (“real”) trial.
I have sent my experiment link to the firstname.lastname@example.org email. I would greatly appreciate it if you took a look.
Thanks.December 6, 2021 at 12:59 pm #7575JeremyKeymaster
The trials are not skipped, they are just executed very quickly, because you didn’t include any
waitcommand. You probably want to replace
.wait()in the “final” trial, and add something to your “thanks” trial so your participants have time to read the message (eg. a Button element with
.wait()too) and can then move on to the next trial in your sequence, labeled “sendd”, which will send the results to the server
JeremyDecember 6, 2021 at 1:16 pm #7578
I completely removed the “thanks” trial, and I added in the .wait() command to both the “Yes I consent” button and “No, I do not consent” button. If the .wait() command is on the Yes button, the No button is not there, understandably so. Once I click on the Yes button, the No button appears. However, if after this I want to click on the yes button, it will not send results, and only do so if I click on the no button.
If I only add the .wait() command to the No button, both buttons appear once the trial starts. However again, results are only sent if I click on the no button, and not the yes.
Here is a sample of the experiment:
newTrial ("final" , newText("<p> Thank you for participating in this experiment!</p>") .center() .print() , newText("<p> Deleted </p>") .center() .print() , newText("<p> Deleted </p>") .center() .print() , newText("<p> Now that you know the true purpose of this experiment, do you consent to having your anonymous data collected by the experimenter? </p>") .center() .print() , newButton("Yes, I consent") .left() .print() , newButton("No, I do not consent") .right() .print() .wait() ) SendResults("sendd")December 6, 2021 at 1:32 pm #7580JeremyKeymaster
You can use a Selector element to group clickable elements:
newCanvas("20em", "3em") .add( "left at 0%" , "middle at 50%", newButton("yes", "Yes, I consent") ) .add( "right at 100%" , "middle at 50%", newButton("no", "No, I do not consent") ) .center() .print() , newSelector("yesno") .add( getButton("yes") , getButton("no") ) .wait() .test.selected( getButton("yes") ) .failure( clear() , newText("Oh well").center().print() , newTimer(1).wait() ) // stay on page
JeremyDecember 6, 2021 at 1:44 pm #7581
This works great! Thank you so much 🙂
- You must be logged in to reply to this topic.