By Ziuc - 12/3/2014
Hi! I have a problem with the textbox element of the "other" attribute in a checkbox element. I want to have an option for entering free text in the case there is no appropriate choice in the predetermined options. The problem is the textfield for entering text is anywhere else on the screen, but not beside the check option. This way the textbos is not useable. I tried to define the position of the textbox on the screen, but this didn't work. For help I would be very grateful!
___________________ ***Survey*** <expt test> / blocks = [0=pei] </expt>
<survey pei> / pages=[0=survey2] / showbackbutton=false / screencolor = white / showquestionnumbers = true / nextlabel = "Weiter" </survey>
<surveypage survey2> / showpagenumbers = false / questions=[0=survey2_q1] / showbackbutton=false / nextlabel="Weiter" / finishlabel = "Weiter" / branch = [if((checkboxes.survey2_q1.checked.3 == true) || (checkboxes.survey2_q1.checked.4 == true)) surveypage.survey2_2] </surveypage>
<checkboxes survey2_q1> / caption="Am Ende des Experimentes wurden Sie gebeten, eine Wahl zwischen jeweils zwei Produkten zu treffen. Es interessiert uns, wie Sie zu ihrer Entscheidung gekommen sind. Bitte kreuzen Sie alle zutreffenden Alternativen an (Mehrfachauswahl möglich):" / required = true / options=("Erster Eindruck (Sie haben jenes Produkt gewählt, welches Ihnen besser gefiel)", "Vertrautheit (Sie haben jenes Produkt gewählt, welches Ihnen vertrauter war)", "Zielprodukt (Sie haben immer versucht das Zielprodukt zu wählen)", "Nicht gesuchtes Produkt (Sie haben immer versucht jenes Produkt zu wählen, welches NICHT das Zielprodukt war)", "Bestimmte Verpackungsmerkmale (Sie haben aufgrund Ihrer Vorlieben gewählt; z. B. bestimmte Formen, Farben, Designs, etc.)", "Zufällig (Sie haben nicht lange überlegt, sondern einfach gewählt)",) / other = anderes </checkboxes>
<surveypage survey2_2> / showpagenumbers = false / questions=[0=survey2_q2] / showbackbutton=false / nextlabel="Weiter" / finishlabel = "Weiter" </surveypage>
<checkboxes survey2_q2> / caption="Sie haben angegeben, dass Sie immer versucht haben entweder das Zielprodukt oder das nicht gesuchte Produkt zu wählen. Bitte geben Sie Ihre Gründe an, welche am besten beschreiben warum Sie so gehandelt haben:" / required = true / options=("Sie mochten diese Produkte mehr.", "Die Wahl viel Ihnen so am einfachsten." "Sie dachten, dass der Versuchsleiter dies so von Ihnen wollte." "Sie haben ohne weitere Gründe einfach so gehandelt.") / other =anderes </checkboxes>
***allgemeine Textbox*** <textbox anderes> / caption = "Anderes:" / maxchars = 300 / multiline = true / textboxsize = (200, 10) </textbox> _____________________
|
By Dave - 12/3/2014
The position of the "other" textbox implicitly depends on the length of the options listed in the /options attribute. Since those are quite long in your case, the box is pushed out far to the right side of the screen. There is a way to work around this by setting the options via /ontrialbegin instead of listing them directly:
https://www.millisecond.com/forums/FindPost12229.aspx
|
By Ziuc - 12/3/2014
Thanks for the reply, but it looks like it doesn't work for me. I think the point is this: The "other" option depends on the listed options as you said. In the link you posted, the problem was a long expression, but the readable answers where short. in my case the answers to read are to long. so even if i build the thing on "/ontrialbegin", the items used are still too long.
___________ <surveypage pg1> / ontrialbegin = [radiobuttons.rb1.option.1 = getitem(counter.option1,1)] / ontrialbegin = [radiobuttons.rb1.option.2 = getitem(counter.option1,2)] / ontrialbegin = [radiobuttons.rb1.option.3 = getitem(counter.option1,3)] / questions = [1=rb1] / showpagenumbers = false </surveypage>
<radiobuttons rb1> / caption = "A caption" / options = ("", "", "",) / other = "other" / position = (10%, 10%) / size = (45%, 38%) / orientation = vertical / required = true </radiobuttons>
<block myblock> / trials = [1=pg1] </block>
<counter option1> / items = ("A", "B", "Ccccccccccccccccccccccccccccccccccc") / select = noreplace </counter> _________________
|
By Dave - 12/3/2014
Yes, you're right. Sorry for missing that. Then the only immediate workaround I can think of is to use a separate <textbox> as in in:
<surveypage pg1> / questions = [1=cb1; 2=tb1] / showpagenumbers = false / branch = [if (checkboxes.cb1.checked.4==true && textbox.tb1.response=="") surveypage.pg1] </surveypage>
<checkboxes cb1> / caption = "A caption" / options = ("AAAAAAAAAA", "BBBBBBBBBBB", "CCCCCCCCCCC", "OTHER") / size = (45%, 38%) / orientation = vertical / required = true </checkboxes>
<textbox tb1> / caption = "If you selected OTHER, please fill in this box:" / required = false </textbox>
<block myblock> / trials = [1=pg1] </block>
|
By Ziuc - 12/3/2014
yeah, i had thought of that solution already, but hoped there would be a smarter way... thanks for your help!
|
|