URL of experiment: https://gitlab.pavlovia.org/obemar/masterarbeit
Project ID: 30428
Description of the problem:
When I run my language experiment online I get the “ReferenceError: chars ist not defined” message, which is confusing since I do not have a variable named chars (I had, but renamed them chars1 to chars3. The project is correctly synced to Pavlovia, not running some former version.)
I used chars1-3 to assign participants to version C or D (with a dummy loop) and within each version to group A or B (just counterbalancing the starting block).
The only chars I see in my code is in this part:
return chars.substr(Math.floor(Math.random() 2), 1);*
and I tried to change it to return chars1.substr(Math… for all three chars, but when running I don’t get past the participant code (it’s loading forever, no error message).
I made the experiment public and added the (most likely) faulty code beneath. I used some other code components too, but only if-statements and text input without a chars variable. So I guess it has to be in here somewhere:
Assignment to version C or D:
Beginn Experiment
chars1 = "CD";
function random_character() {
chars1 = "CD";
return chars.substr(Math.floor(Math.random()* 2), 1);
}
VersionCD = random_character();
if ((VersionCD === "C")) {
nReps_vC = 1;
nReps_vD = 0;
} else {
nReps_vC = 0;
nReps_vD = 1;
}
V1 group A or B
Begin Routine
chars2 = "AB";
function random_character_vC() {
chars2 = "AB";
return chars.substr(Math.floor(Math.random()*2),1);
}
condition = random_character_vC();
V2 group A or B:
Begin Routine
chars3 = "AB";
function random_character_vD() {
chars3 = "AB";
return chars.substr(Math.floor(Math.random()*2),1);
}
condition = random_character_vD();
Additional info for understanding: I got the undeclared variable error message before and worked around this by adding that first line chars1=“CD” / chars2/3 = “AB” after some JS searching. I guess it works in the supposed way but am not sure if it’s the correct way to declare the variable. The error didn’t pop up after I added that part. For others in the forum the code seemed to work perfectly fine without that extra line. I have no idea why I needed it.
Thanks a lot for any help,
Maria