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

Guten Abend,

ich habe 12 Seiten mit je 5 Fragen. Jede teilnehmende Person soll 5 dieser Seiten mit je 5 Fragen zufällig zugeteilt bekommen (keine doppelten Seiten). Am Ende der Befragung sollten alle 12 Seiten ungefähr gleich oft bearbeitet worden sein.

Mit diesem PHP-Code werden zufällig fünf Seiten ausgewählt:

question('RD01');
$pages = valueList('RD01', NULL, 'label');
registerVariable($pages);
setPageOrder($pages, 'ENDE');

Ich habe für jede Frage (offene Nennung) auf jeder Seite eingestellt: bei fehlender Antwort (also wenn bei einer oder mehreren Fragen keine Eintragung gemacht wurde) nachhaken.

Es scheint zu funktionieren, dass zufällig 5 Seiten ausgewählt werden. Jedoch fällt Folgendes auf:

Wenn ich im Testdurchlauf in alle Felder der offenen Nennungen etwas eintrage läuft alles gut durch. Wenn ich bei der ersten Seite gar nichts eintrage und nachgehakt wird, ich weiterhin nichts eintrage und auf weiter klicke, wird dieselbe Seite nochmal angezeigt . Bei den übrigen 4 Seiten ist das nicht so, wenn ich nichts eintrage, nachgehakt wird und ich dennoch auf weiter klicke.

Wenn ich bei einer der fünf Fragen der ersten Seite im Zufallsgenerator eine Eintragung mache und zu den übrigen 4 Fragen nichts schreibe, hakt natürlich das System nach. Ich gebe an, dass ich keine weiteren Angaben machen möchte. Und dann erscheint dieselbe Seite nochmal, aber nicht leer, sondern mit dieser einen Eintragung zu der einen Frage.

Dies passiert nur bei der ersten der fünf angezeigten Seiten.

Wie kann ich den Fehler beheben?

1 Answer

0 votes
ago by SoSci Survey (368k points)

Sie stoßen hier auf ein bekanntes Problem in SoSci Survey, das sehr tief im Code verankert ist und daher noch nicht behoben werden konnte: Leere Seiten in Seitenabfolgen führen beim Nachhaken u.U. zu unerwünschten Wiederholungen.

Leere Seite sind solche Seiten, die selbst keinen Inhalt zeigen. Das ist bei Ihnen die Seite 4 mit der Randomisierung, deren Screenshot Sie in der Frage eingebunden haben.

Die Lösung ist ziemlich trivial: Ziehen Sie den PHP-Code einfach ans Ende der vorigen Seite 3. und löschen Sie die aktuelle Seite 4. Die Frage RD01 binden Sie ohnehin schon über question() ein, die doppelte Einbindung dadurch, dass Sie sie auf die Seite gezogen haben, macht zwar keine Probleme, ist aber überflüssig.

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

...