0 votes
in SoSci Survey (dt.) by s040066 (120 points)
edited by s040066

Hallo lieber Support,

Ich habe auf einer Seite eine Frage kombiniert

question('AD03','combine=AD04');

AD03 ist als Mehrfachauswahl festgelegt und AD04 als Skala. Es gibt 3 bestimmte Optionen, die wenn sie ausgewählt worden sind und bei der bestimmten Antwort, auf der Folge Seite eine weitere Frage anzeigen soll.

Bei AD04_10 --> AD06
Bei AD04_21 --> AD05
Bei AD04_30 --> AD06
Wenn AD04_10 und/oder AD04_30 ausgewählt wurde, dann soll auch nur AD06 erscheinen. Bei AD04_21 AD06 und wenn beide (oder alle 3) ausgewählt worden dann AD05 und AD06

if ((value('AD04_21') < 3)) {
 question('AD05');} else { goToPage('next');
}
if ((value('AD04_30') < 3) or (value('AD04_10') < 3)) {
 question('AD06');} else { goToPage('next');
}

Wenn nun nichts ausgewählt wurde, dann erscheinen auf der Folgeseite beide Fragen. Wenn aber eine Frage mit >3 als Antwortmöglichkeit gegeben ist, dann erscheint keine Frage und es wird zur nächsten Seite gesprungen.

Bei dieser Variante:

if ((value('AD04_21') == 1) or (value('AD04_21') == 2)) {
 question('AD05');} else { goToPage('next');
}
if ((value('AD04_30') == 1) or (value('AD04_10') == 1) or (value('AD04_30') == 2) or (value('AD04_10') == 2)) {
 question('AD06');} else { goToPage('next');
}

...werden die Folgefragen (AD05 und/oder AD06, je nach gewählter Antwort) nur angezeigt, wenn die erste Bedingung erfüllt wird. Zudem werden darunter gleich die Fragen der darauf folgenden Seite angezeigt, d.h. 2 Fragebogenseite auf einmal.

Ziel: Es soll auch die Folgefrage (AD06) angezeigt werden, wenn AD04_21 nicht zu den oben genannten Bedingungen gewählt wurde. Und wenn möglich getrennt von den Fragen der weiteren Seite.

Gibt es da eine Möglichkeit?

Vielen Dank im Voraus.

Liebe Grüße
Eric

1 Answer

0 votes
by SoSci Survey (327k points)

Die Ursache des dargestellten Problem ist wie folgt: Wenn bereits der erste Filter das goToPage('next'); aufruft, kommt der zweite Filter gar nicht mehr zum Zuge. Der Fragebogen springt direkt zur nächsten Seite.

Die Lösung ist entsprechend einfach: Lassen Sie den else-Teil der Filter einfach weg:

if ((value('AD04_21') < 3)) {
 question('AD05');
}
if ((value('AD04_30') < 3) or (value('AD04_10') < 3)) {
 question('AD06');
}

Um dieses und ähnliche Probleme schnell aufzufinden, ist übrigens die Debug-Information sehr hilfreich.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...