URL of experiment: https://gitlab.pavlovia.org/Felicia/sliderexp
Description of the problem:
Hey there,
I am using a slider element in an online experiment. At first, I let them continue to the next question using a keyboard component (so pressing SPACE would end the routine). But like this they could jump to the next question without choosing a rating on the slider which lead to missing answers. So I exchanged the keyboard component for a code component where I check for a rating first before checking for a keyboard response. Locally this works absolutely fine, but online it doesn’t work. Now I can’t jump to the next question without choosing a rating, but even after choosing a rating, the routine will not end when pressing SPACE.
Does anyone know how to solve this? I guess there is something wrong with the js syntax. I tried to do it like in the auto-generated js file from the previous version where I used a keyboard component to end the routine. This is the js part of my code component:
key_response = new core.Keyboard({psychoJS: psychoJS, clock: new util.Clock(), waitForStart: true});
let theseKeys = key_response.getKeys({keyList: ['space'], waitRelease: false});
if ((slider.getRating() !== null)) {
valid_response = true;
}
if (valid_response) {
if (theseKeys.length > 0) {
if ((theseKeys[0] === "space")) {
continueRoutine = false;
}
}
}
this is the PsychoPy-Version which works locally:
key_response = keyboard.Keyboard()
theseKeys = key_response.getKeys(keyList=['space'], waitRelease=False)
if slider.getRating() != None:
valid_response = True
if valid_response:
if len(theseKeys):
if theseKeys[0] == "space":
continueRoutine = False