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

0 votes

Hallo,
Ich habe einen Hauptfragebogen und einen Unterfragebogen, den ich mehrfach hintereinander wiederhole.
Also wiefolgt:

$codes = array_values(valueList('A001',null,'label'));
$i = loopToPage('start', count($codes));
multiLevelDown('pt1', $codes[$i]);

Im Unterfragebogen speichere ich den Wert, der vom Hauptfragebogen übermittelt wird, in eine interne Variable:

$key = multiLevelData();
$data = dbGet($key);
put("experiment_id",$key);

Aber ich bekomme die Warnung, dass diese überschrieben wird. Und tatsächlich: aus den Datensätzen verschwindet die Variable "experiment_id" immer, sobald ich einen Unterfragebogen abschließe - schaue ich aber in die Daten rein, während ich ausfülle, steht dort der korrekte Wert drin. Komischerweise passiert das aber nur bei der Internen Variable, andere Formularelemente, die ich in dem Unterfragebogen (wiederholt) verwende, bleiben korrekt in den Daten erhalten.

Wie kann ich dieses Problem am geschicktesten lösen?

Vielen Dank.

in SoSci Survey (dt.) by s134593 (140 points)

1 Answer

+1 vote
 
Best answer

Könnte es sein, dass Sie die Frage "interne Variablen" nicht nur in put() aufrufen, sondern auch noch in die Fragebogen-Seite hineingezogen haben?

Wenn ja, dann wird der mittels put() gesetzte Wert überschrieben, sobald Sie auf "Weiter" klicken, weil in diesem Moment die Daten aus der Fragebogen-Seite (inkl. interner Variable) übermittelt werden.

Lösung: Entfernen Sie die Frage unter Fragebogen zusammenstellen aus der Fragebogen-Seite.

by SoSci Survey (223k points)
selected by s134593
Vielen Dank! Das war mir nicht klar - ich hatte sogar gegenteiliges angenommen, dass nämlich die Variable auf die Seite gezogen werden muss, damit ich darauf zugreifen kann.
Und das Problem ist gelöst.
...