0 votes
in SoSci Survey (dt.) by s206352 (110 points)

Hallo, ich hätte auch eine Frage bezüglich des Filters bzw. PHP-Code. Und zwar geht es um die Teilnahmebedingungen. Ich möchte relativ zu Beginn zwei Fragen stellen, die beide mit JA beantwortet werden müssen. Wenn man bei einer der Fragen NEIN klickt, soll das Interview sofort beendet werden. Ich habe jetzt schon einige Sachen ausprobiert. Zuerst mit einer einfachen Filter-Frage, die dann einen bestimmten Text anzeigt, dass man leider nicht an der Studie teilnehmen kann (Verabschiedungstext). Das klappt zwar, jedoch taucht diese Seite auch noch im Fragebogen an vorletzter Stelle auf, wenn man den Fragebogen ganz normal bearbeitet, d.h. am Anfang zweimal JA geklickt hat. Ich weiß leider nicht wie ich diese Frage im Falle von JA und JA am Anfang unsichtbar mache. Also wollte ich es mit PHP-Code probieren und die Bedingung aufstellen, dass wenn ein- oder zweimal NEIN geklickt wird, dass man dann den Text (den ich anhand von Textbausteinen einfügen wollte) angezeigt bekommt und das Interview vorbei ist. Ich habe folgenden Code ausprobiert: if (value('TB01') == 2 or value('TB02') == 2) {
text('Screenout'); }

Leider kommt dann immer wieder diese Fehlermeldung: "Die Variable TB01 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion value() keinen Antwort-Wert ermitteln." Gleiches gilt für TB02.

Was mache ich falsch? Gibt es irgendeinen Weg nach ein- oder zweimaliger Auswahl von NEIN das Interview zu beenden und einen Abschiedstext einzubauen, der sagt, dass man nicht teilnehmen kann (Screenout) ?

Liebe Grüße! :)

1 Answer

0 votes
by SoSci Survey (323k points)

Im einfachsten Fall legen Sie zu jeder der beiden Auswahlfragen direkt in der Frage einen Screenout-Filter an.

Wenn Sie lieber mit PHP-Code arbeiten, dann stellen Sie sicher, dass diese nicht auf derselben Seite steht wie die Frage, sondern frühestens auf der folgenden Seite.

Die Variable TB01 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt.

Und prüfen Sie auch, dass Sie eine einfache Auswahl und keine Mehrfachauswahl verwendet haben, sonst haben die Variablen andere Namen.

if ((value('TB01') == 2) || (value('TB02') == 2)) {
    text('Screenout');
    option('nextbutton', false);
    option('backbutton', true);  // Optional
    pageStop();
} 
by s206352 (110 points)
Vielen Dank für die schnelle Antwort!

Ich würde lieber direkt einen Screenout-Filter einbauen und nicht mit PHP-Code arbeiten, wenn das möglich ist.

Aber wie genau mache ich das? "In der Frage einen Screenout-Filter anlegen"?

Wie ich bereits geschrieben habe, ist dies möglich, jedoch wird dann die von mir angelegte Screenout-Seite auch den anderen Teilnehmenden angezeigt, die JA und JA geklickt haben (nur eben auf der vorletzten Seite dann) und ich weiß nicht wie ich das wegbekomme.

Liebe Grüße
by SoSci Survey (323k points)
> Aber wie genau mache ich das? "In der Frage einen Screenout-Filter anlegen"?

Nun, so wie in der Anleitung beschrieben...
https://www.soscisurvey.de/help/doku.php/de:create:simple-filters

Der Knackpunkt ist, dass Sie keine Screenout-Seite anlegen, sondern im Filter einfach einstellen, dass ein Screenout erfolgen soll.

Für eine konkstruktivere Antwort müssten Sie Ihre Frage bitte spezifizieren.

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

...