0 votes
in SoSci Survey (dt.) by s052715 (130 points)

Liebes Support-Team,

für eine mehrwellige Befragung wollen wir zum ersten Zeitpunkt Ziele abfragen, die sich Personen setzen (mindestens 1 Ziel, maximal 5).
Zum zweiten Messzeitpunkt wollen wir für jedes der angegebenen Ziele erfragen, wie weit die Personen in der Erreichung des jeweiligen Zieles sind. Das heisst, wir haben 5 weitere Fragen, die jeweils für das erste/zweite/dritte... Ziel abfragen, wie weit die Zielerreichung ist.
Wir scheitern jetzt allerdings gerade daran, die Fragen in Abhängigkeit der Anzahl der angegebenen Ziele anzeigen zu lassen.
Bisher haben wir folgenden Code programmiert (GO01 ist eine offene Texteingabe mit 5 Zeilen):

im ersten Fragebogen:
$key = 'Ziele'.caseSerial();
$data = array(
value('GO01_01', 'free'),
value('GO01_02', 'free'),
value('GO01_03', 'free'),
value('GO01_04', 'free'),
value('GO01_05', 'free')
);
dbSet($key, $data);

im zweiten Fragebogen:
$key = 'Ziele'.caseSerial();
$data = dbGet($key);
replace('%Ziel1%', $data[0]);
replace('%Ziel2%', $data[1]);
replace('%Ziel3%', $data[2]);
replace('%Ziel4%', $data[3]);
replace('%Ziel5%', $data[4]);

Nun würde ich gerne den Code wie folgt programmieren:
if($data[1]==''){goToPage('next');}
else {question('GO03');}

das heisst, ich müsste die Information, dass kein zweites Ziel eingetragen wurde (und daher die zweite Spalte in der internen Datenbank leer ist) verwenden können, um zu programmieren, dass in diesem Fall auf die nächste Seite gesprungen werden soll. Leider funktioniert das nicht, da bei Texteingabefeldern ja keine Antwort hinterlegt ist, wenn gar nichts eingetragen wurde. Das heisst, die Seite mit der Frage GO03 wird dann trotzdem angezeigt.

Haben Sie eine Idee, wie wir dieses Problem lösen können?
Herzlichen Dank schon mal für Ihre Unterstützung!
Beste Grüsse
Angelika Kornblum

1 Answer

0 votes
by SoSci Survey (302k points)

Leider funktioniert das nicht, da bei Texteingabefeldern ja keine Antwort hinterlegt ist, wenn gar nichts eingetragen wurde.

Eigentlich prüft Ihr Code ganz korrekt, um das Textfeld leer war. Wichtig ist nur, dass $data auf der Seite mit dem Filter immer korrekt "befüllt" wird - Sie müssen also evtl. den Teil davor wiederholen oder mit registerVariable() arbeiten.

Könnten Sie vielleicht einmal die Debug-Information der Seite posten?

Außer dem PHP-Code ist sonst nicht mehr auf der Seite, oder?

by s052715 (130 points)
Vielen Dank für Ihre rasche Antwort! Ich habe mir den Debug-Modus angeschaut und dabei einen Fehler entdeckt, der das Ganze aufgelöst hat - wir hatten dieselbe Frage aus Versehen mehrmals hintereinander im Fragebogen auf verschiedenen Seiten, das hatte ich vorher nicht bemerkt. Herzlichen Dank für Ihre Unterstützung!

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

...