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

Wir verwenden in einem Fragebogen setPageOrder() zur Randomisierung von Vignettenseiten. Zwischen den Vignetten liegen teilweise Rankingseiten, die bei nur einer Nennung mittels goToPage('next') übersprungen werden.

Nach dem Zurücknavigieren um nur eine Seite tritt unregelmäßig folgendes Verhalten auf: Beim anschließenden Klick auf „Weiter“ wird dieselbe Vignettenseite erneut angezeigt, inklusive der bereits gespeicherten Eingaben.

Die Debug-Ausgabe zeigt dabei beispielsweise:

Lese Antworten von Seite 49 [PW02]
...
Entsprechend der vorher festgelegten Seitenabfolge wird Seite 49 [PW02] angezeigt

Die gespeicherte Seitenreihenfolge enthält PW02 nur einmal. Das Problem tritt sowohl bei einer als auch bei mehreren Nennungen auf und bleibt auch bestehen, wenn die randomisierte Reihenfolge mit registerVariable() gespeichert wird.

Ist dieses Verhalten bei setPageOrder() in Kombination mit der Zurücknavigation bekannt? Gibt es einen empfohlenen Workaround?

1 Answer

0 votes
ago by SoSci Survey (375k points)

Ist dieses Verhalten bei setPageOrder() in Kombination mit der Zurücknavigation bekannt?

Ja, und leider lässt es sich nicht kurzfristig beheben, weil es mit einer Reihe anderer Funktionen in Verbindung steht, die zunächst angepasst werden müssen.

Das Problem tritt insbesondere dann auf, wenn Sie "leere" Seite im Fragebogen verwenden. Das heißt, Seiten, die selbst keinen Inhalt zeigen (z.B. weil dieser mittels Filter ausgeblendet wird).

Gibt es einen empfohlenen Workaround?

Bitte versuchen sie einmal, den PHP-Code mit dem goToPage('next') aus dem Inhalt der Seite in das Bereich "Antworten mittels PHP verarbeiten" auf der vorherigen Seite zu verschieben. Bitte teilen sie kurz mit, ob das hilft.

Falls Sie innerhalb des Loops noch Seiten haben, die (manchmal) keinen Inhalt zeigen, prüfen Sie, ob Sie diese Seite vermeiden oder durch ein goToPage() oben auf der Seite überspringen können.

ago by s065814 (110 points)
Vielen Dank für den Hinweis. Ich habe den vorgeschlagenen Workaround getestet:

Den PHP-Code

if (value('PW38') <= 1) {
    goToPage('next');
}

habe ich aus der Rankingseite SW38 entfernt und in den Bereich „Antworten mittels PHP verarbeiten“ der vorherigen Vignettenseite PW38 verschoben.

Bei nur einer Nennung wird anschließend jedoch weiterhin SW38 angezeigt. Der Sprung überspringt die Rankingseite in diesem Kontext also nicht, sondern führt regulär auf die nächste Seite.

Unsere Seitenfolge lautet beispielsweise:

PW38 → SW38 → PW01 → SW01

Ziel wäre bei nur einer Nennung:

PW38 → PW01

Gibt es eine Möglichkeit, im Bereich „Antworten mittels PHP verarbeiten“ gezielt die auf SW38 folgende Seite innerhalb der durch setPageOrder() festgelegten Reihenfolge anzusteuern? Oder einen anderen empfohlenen Workaround für diese Paarstruktur?

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

...