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

Ich habe folgenden Code für eine Filterfrage.

if (value('SC03') == 1) {
    setPageOrder('MEDF', 'OUTF', 'MEDO', 'OUTO');
} elseif (value('SC03') == 3) {
    setPageOrder('MEDF', 'OUTF', 'MEDY', 'OUTY');
} elseif (value('SC03') == 2) {
    goToPage('end');
}

Der Filter funktioniert für die Ausprägung 3 und 2 bei SC03, aber nicht für Ausprägung 1.
Wie kann der Code geändert werden, dass der Filter auch für die Ausprägung 1 funktioniert? Oder liegt es nicht am Code, sondern an etwas anderem?

by SoSci Survey (332k points)
Ich sehe keinen offensichtlichen Fehler im Filter. Bitte lassen Sie sich einmal die Debug-Information dieser Seite anzeigen (nachdem Sie vorher SC03 beantwortet haben, versteht sich) und posten Sie diese.

Beschreiben Sie gerne auch mal, was genau nicht funktioniert.

Und prüfen Sie, ob auf den Seiten MEDO oder OUTO PHP-Code einen der folgenden befehle nutzt: setNextPage(), setPageOrder() oder loopPage() bzw. loopToPage(). Diese Befehle setzen jeweils eine eventuell laufende Seitenabfolge außer Kraft.
ago by s295722 (110 points)
Die Debug-Information zeigt keinen Bug, wenn ich entsprechend auf die Frage antworte:

[Information]    Antwort auf SC02 = 2
[Information]    Antwort auf SC03 = 1
[Information]    Antwort auf SC06_01 = 12
[Information]    Antwort auf SC05 = 2
[Information]    Antwort auf DE09 = 3
[Information]    Antwort auf SC04 = 2
[Information]    Antwort auf DE10_01 = 3
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 5 in Fragebogen base
[Information]    value("SC03") = 1
[Information]    Entsprechend setPageOrder() werden nun folgende Seiten gezeigt:
6 [MEDF], 9 [OUTF], 8 [MEDO], 10 [OUTO]
[Inhalt]    Zeige Text Anfang Pred

Die Seitenabfolge wird richtig angezeigt hier, aber wenn ich durchklicke, bekomme ich auch MEDY und OUTY angezeigt. Das stimmt nicht und sollte mit dem Filter eigentlich auch nicht passieren.
ago by SoSci Survey (332k points)
> Die Seitenabfolge wird richtig angezeigt hier, aber wenn ich durchklicke, bekomme ich auch MEDY und OUTY angezeigt.

Das spricht dafür, dass die Seitenabfolge zwischenzeitlich gelöscht wird, wie oben bereits vermutet.

Bitte posten Sie auch die Debug-Information von der Seite OUTO und von der Seite, die darauf folgt (vermutlich eine, die nicht gezeigt werden soll).
ago by s295722 (110 points)
Das ist die Fehlermeldung von der letzten "richtigen" Seite.

[Information]    Interview Nummer 739 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt BeziehungenArbeitsplatz wird verwendet
[Information]    Die Verweildauer auf Seite 8 betrug zusätzliche 3 Sekunden
[Verarbeitung]    Lese Antworten von Seite 8
[Information]    Antwort auf MO01_01 = 3
[Information]    Antwort auf MO01_02 = 3
[Information]    Antwort auf MO01_03 = 3
[Information]    Antwort auf MO01_04 = 3
[Information]    Antwort auf MO02_01 = 3
[Information]    Antwort auf MO02_02 = 3
[Information]    Antwort auf MO02_03 = 3
[Information]    Antwort auf MO02_04 = 3
[Information]    Antwort auf MO06_01 = 3
[Information]    Antwort auf MO06_02 = 3
[Information]    Antwort auf MO06_03 = 3
[Information]    Antwort auf MO06_04 = 3
[Information]    Antwort auf MO05_01 = 3
[Information]    Antwort auf MO05_02 = 3
[Information]    Antwort auf MO05_03 = 3
[Information]    Antwort auf MO05_04 = 3
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Information]    Entsprechend der vorher festgelegten Seitenabfolge wird Seite 10 [OUTO] angezeigt
[Verarbeitung]    Erstelle Seite 10 in Fragebogen base
[Inhalt]    Zeige Text Anfang OUTO
[Inhalt]    Erstelle Frage AB03
[Inhalt]    Erstelle Frage DB03
[Inhalt]    Erstelle Frage IB03
[Inhalt]    Erstelle Frage ES03
[Inhalt]    Erstelle Frage IN03
[Inhalt]    Erstelle Frage IS03

Das ist die Meldung der ersten "falschen" Seite:

[Information]    Interview Nummer 739 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt BeziehungenArbeitsplatz wird verwendet
[Information]    Die Verweildauer auf Seite 10 betrug zusätzliche 47 Sekunden
[Verarbeitung]    Lese Antworten von Seite 10
[Information]    Antwort auf AB03_01 = 3
[Information]    Antwort auf AB03_02 = 3
[Information]    Antwort auf AB03_03 = 3
[Information]    Antwort auf AB03_04 = 3
[Information]    Antwort auf DB03_01 = 3
[Information]    Antwort auf DB03_02 = 3
[Information]    Antwort auf DB03_03 = 3
[Information]    Antwort auf DB03_04 = 3
[Information]    Antwort auf IB03_01 = 3
[Information]    Antwort auf IB03_02 = 3
[Information]    Antwort auf IB03_03 = 3
[Information]    Antwort auf IB03_04 = 3
[Information]    Antwort auf ES03_01 = 3
[Information]    Antwort auf ES03_02 = 3
[Information]    Antwort auf ES03_03 = 3
[Information]    Antwort auf ES03_04 = 3
[Information]    Antwort auf IN03_01 = 3
[Information]    Antwort auf IN03_02 = 3
[Information]    Antwort auf IN03_03 = 3
[Information]    Antwort auf IS03_01 = 3
[Information]    Antwort auf IS03_02 = 3
[Information]    Antwort auf IS03_03 = 3
[Information]    Antwort auf IS03_04 = 3
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 11 in Fragebogen base
[Inhalt]    Zeige Text Anfang MEDY
[Inhalt]    Erstelle Frage AB02
[Inhalt]    Erstelle Frage DB02
[Inhalt]    Erstelle Frage IB02
[Inhalt]    Erstelle Frage ES02
[Inhalt]    Erstelle Frage IN02
[Inhalt]    Erstelle Frage IS02

1 Answer

0 votes
ago by SoSci Survey (332k points)

[Verarbeitung] Erstelle Seite 10 in Fragebogen base
[Inhalt] Zeige Text Anfang OUTO
....
[Verarbeitung] Erstelle Seite 11 in Fragebogen base
[Inhalt] Zeige Text Anfang MEDY

Wenn die Seitenabfolge auf Seite 10 abgeschlossen wurde, dann macht SoSci Survey einfach auf der nächsten Seite weiter - das ist in Ihrem Fall Seite 11.

Geben Sie bitte der Seite, auf der es eigentlich weitergehen soll auch eine Kennung, und ergänzen Sie diese noch in setPageOrder(). Das könnte z.B. so aussehen, wenn es direkt zum Ende gehen soll. Ansonsten tragen Sie statt "end" die korrekte Kennung ein:

if (value('SC03') == 1) {
    setPageOrder('MEDF', 'OUTF', 'MEDO', 'OUTO', 'end');
} elseif (value('SC03') == 3) {
    setPageOrder('MEDF', 'OUTF', 'MEDY', 'OUTY', 'end');
} elseif (value('SC03') == 2) {
    goToPage('end');
}

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

...