Howdy, Stranger!

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

Supported by

Presenting multiple text inputs on one screen

Hi everyone,

I was wondering whether there is a simple way of presenting multiple text input boxes on one screen, and only registering responses once they all have been filled in?

For now I only seem to be able to present one at a time, and move on to the next one once a response has been entered.

Thanks!

Comments

  • Hi Peta,


    this is currently not possible.


    Best,

    Florian

  • Hi Florian,

    Good to know, shame though. Thanks!

    Peta

  • Hi Florian,

    Didn't give it a try myself, but maybe to rephrase the question a bit:

    We want to

    • ask the participant to give 0 till 4 typed answers
    • either in one or on multiple text boxes.
    • If in multiple: enter jumps to next text box or, even better, shows/creates an additional one.
    • If in one text box: on new lines, so separated by enters, with possibly a double entering or other special character to end the input.

    Is something like this possible? :)

    Thanks in advance!

    best,

    Frank

  • Maybe to try to answer my own question, would it be a possibility to:

    • Have one text box initially
    • Which is read out when enter is hit
    • If the field is empty: go to next trial
    • If the field is not empty, present same trial again, with:
    • > the first text box replaced by the answer that was typed there (so no text box, just a non-editable field)
    • > a new text box to type in
    • Repeat, until max number of text boxes has been hit.

    ?

    That would work for us for sure. Thanks!

    Frank

  • edited March 23

    Hi Frank,


    something like the following?

    import expyriment as xpy
    
    
    xpy.control.set_develop_mode()
    
    questions = ["What is the meaning of life, the universe and everything?",
                "How far away is the moon?",
                "Can I haz cheeseburgers?"]
    
    exp = xpy.control.initialize()
    
    for q in questions:
       bg = xpy.stimuli.Canvas((600,600))
       for n in range(4):
           i = xpy.io.TextInput(q, position=(0, 150-n*100), background_stimulus=bg)
           answer = i.get()
           if answer.strip() == "":
               break
           xpy.stimuli.TextLine(answer, position=(0, 150-n*100)).plot(bg)
    
  • Hi Florian,

    It does work! Thanks a lot!

    Best,

    Randi

Sign In or Register to comment.