Danke für die Erlaubnis, auf Ihr Projekt zuzugreifen.
Ich habe den Fragebogen nun ein halbes Dutzend mal mit Filterbedingung "Nein" (SD20=1) durchgeklickt. Das einzige was mir aufgefallen ist, dass Sie in SD20 noch Filter aktiv haben, die sich offenbar mit dem setPageOrder()
doppeln.
Aber der Fortschritsbalken ist stets sauber dis 95% auf Seite IS26 und 97% auf der vorletzten Seite IS29 durchgelaufen. Dabei hatte ich aber immer mit dem "Weiter unabhängig von fehlenden Antworten" in der Debug-Leiste oben getestst.
Und dann habe ich nochmal direkt auf Seite 20 getestet. Und siehe da ... ich konnte das Problem finden. Sie haben in der Frage SD20 noch folgenden Filter definiert:
Wenn eine der folgenden Antwortoption(en) ausgewählt wurde: 1, 2, 3
Dann nach dem Klick auf "Weiter" direkt zur Seite GI02 springen
Das führt dann zu folgendem Ablauf (s. Debug-Information):
[Verarbeitung] Lese Antworten von Seite 21
[Information] Antwort auf SD20 = 1
[Information] ▼ Filter SD20/1 wird aktiv (Bedingung erfüllt).
[Information] ▼ Filter SD20/2 wird aktiv (Bedingung erfüllt).
[Information] Bedingung in Filter SD20/3 ist nicht erfüllt.
[Information] Bedingung in Filter SD20/4 ist nicht erfüllt.
[Information] Bedingung in Filter SD20/5 ist nicht erfüllt.
[Information] Bedingung in Filter SD20/6 ist nicht erfüllt.
[Information] Fragen bisher zu 94% vollständig beantwortet
[Verarbeitung] Springe zur Seite 34 (Nr. 34)
Der Filter SD20/1 sorgt also dafür, dass direkt nach Seite 21 (Ihre Filterfrage) zur Seite 34 gesprungen wird. setPageOrder()
auf Seite 22 kann also gar nicht aktiv werden. Und deshalb passt dann auch die Fortschrittsanzeige nicht.
Lösung: Entfernen Sie alle überflüssigen Filter in SD20 oder entfernen Sie das setPageOrder()
auf Seite 22 und definieren Sie stattdessen einen Filter "Folgende Seitenabfolge verwenden" in Frage SD20. Das ist äquivalent zum setPageOrder()
. Aber das Springen muss raus.