Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Collecting response from form base item

edited March 2021 in OpenSesame

Hi everyone,

I have created a custom rating scale using the form base item but it is not collecting any data. Is there something missing from my script? I have tried using a mouse logger and keyboard logger. The former doesn't collect any data and the latter just prevent my experiment from exiting. I don't know what I'm supposed to set for the correct response or allowed response section.

Also, how do I prevent the participant from clicking the next button before they have given their feedback for each categories?

Thank you.

--------------------------------------------------------------------------------------------

set timeout infinite
set spacing 10
set rows "1;1;1;1;1;1;1"
set only_render no
set margins "50;50;50;50"
set description "A custom rating scale"
set cols "1;1"
set _theme gray
widget 0 0 2 1 label text="Based on the news headlines that you had just read. How do you feel about SolarNRG?"
widget 0 1 2 1 rating_scale nodes="Heroic;Villainous" var=question1
widget 0 2 2 1 rating_scale nodes="Cruel;Kind" var=question2
widget 0 3 2 1 rating_scale nodes="Scandalous;Admirable" var=question3
widget 0 4 2 1 rating_scale nodes="Delighted;Disgusted" var=question4
widget 0 5 2 1 rating_scale nodes="Hate;Love" var=question5
widget 0 6 2 1 button text=Next

-------------------------------------------------------------------------------------------

Comments

  • Hi @Chiayce ,


    Thanks for your interest in OpenSesame and welcome to the forum! :)

    I couldn't open your experiment (I got the error message below). In the future, it's more convenient to upload your experiment directly here by clicking the paperclip icon.



    I have created a custom rating scale using the form base item but it is not collecting any data:

    You don't have to make the form_base item follow by a mouse_response item (or a keyboard_response item). But did you make sure to append a logger item to your experiment?


    Regarding the response variables: The rating_scale widget sets the response variable to the number of the option that has been clicked, where ‘0’ is the first option (zero-based indexing) and '1' is the second option. If no option has been selected, the response variable is set to ‘None’. So for example, if the variable 'question1' has the value '0', it means that the participant clicked on "Heroic". Does that make sense?


    Btw, just to be sure: form items are not supported by OSWeb, so I guess you won't run your experiment online, right?



    Also, how do I prevent the participant from clicking the next button before they have given their feedback for each categories?

    One possible solution is the following:

    • Append an inline_script item to your trial_sequence and make sure it appears right after your form_base item
    • And place something like the following code in its Run tab:


    # Check whether there are any un-answered questions:
    if None in (var.question1, var.question2, var.question3, \
        var.question4, var.question5):
        
        # If so, run the form_base again:
        items["form_base"].run()
        
        # And also, run this validation script again:
        items["inline_script"].run()
    


    I attached an example experiment.


    Hope this helps! Just let us know if you have any further questions.


    Best wishes,


    Lotje


    Did you like my answer? Feel free to Buy Me A Coffee :)

Sign In or Register to comment.