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

Hallo zusammen,

ich habe einen Fragebogen erstellt, in dem in einer Rubrik insgesamt 9 Seiten mit jeweils 5 Fragen in randomisierter Reihenfolge angezeigt werden. Die Beantwortung aller Fragen habe ich über das Feld Prüfung verpflichtend gemacht ("die Frage muss beantwortet werden").

Im Fragebogen selbst jedoch ist es zunächst möglich, die Fragen unbeantwortet zu lassen und auf die nächste Seite des Fragebogens zu wechseln. Die Seite mit den unbeantworteten Fragen wird dann an das Ende der Rubrik gestellt und ist erst zwingend zu beantworten, nachdem der Teilnehmer alle anderen Fragen gesehen hat.

Besteht die Möglichkeit, die einzelnen Seiten nicht überspringbar zu machen, sodass die Teilnehmer di Fragen sofort beantworten müssen, ohne dass die besagte Seite ans Ende des Fragebogens gestellt wird?

Vielen Dank

by SoSci Survey (327k points)
Meine Vermutung ist, dass Sie mit loopPage() arbeiten und die Reihenfolge bei der Wiederholung der Seite neu gemischt wird. Das hat zur Folge, dass die Seite zwar wiederholt wird, aber eine neue Frage erscheint.

Vermutlich ist dieses Problem mit isset() und registerVariable() zu lösen, aber um das genau zu sagen müsste ich Sie bitten, den von Ihnen verwendeten PHP-Code zu posten.
by s118278 (110 points)
Danke für die schnelle Antwort!

Hier der PHP-Code:

$seiten1 = array('R01', 'R02', 'R03', 'R04', 'R05', 'R06', 'R07', 'R08', 'R09');
shuffle($seiten1);
$seiten1[] = 'CO01';

$seiten2 = array('NR01', 'NR02', 'NR03', 'NR04', 'NR05', 'NR06', 'NR07', 'NR08', 'NR09');
shuffle($seiten2);
$seiten2[] = 'CO01';

if (value('RO20') == 1) {
  setPageOrder($seiten1);
} elseif (value('RO20') == 2) {
  setPageOrder($seiten2);
}

1 Answer

0 votes
by SoSci Survey (327k points)

Wenn der PHP-Code auf der Seite vor R01 bzw NR01 (je nachdem, welche vorher kommt) steht, sollte der Fragebogen beim Wiederholen einer Frage die exakt gleiche Frage nochmal anzeigen. Es schadet aber nicht, den Code ein wenig zu vereinfachen und die Reihenfolge zu fixieren:

if (!isset($seiten)) {
  if (value('RO20') == 1) {
    $seiten = array('R01', 'R02', 'R03', 'R04', 'R05', 'R06', 'R07', 'R08', 'R09');
  } else {
    $seiten = array('NR01', 'NR02', 'NR03', 'NR04', 'NR05', 'NR06', 'NR07', 'NR08', 'NR09');
  }
  shuffle($seiten);
  $seiten[] = 'CO01';
  setPageOrder($seiten);
  registerVariable($seiten);
}

Wenn das eigentliche Problem damit weiter besteht (wovon ich fast ausgehen), dann posten sie bitte die Debug-Information, die nach einem "Weiter" und fehlender Antwort angezeigt wird.

Nur zur Sicherheit: Sie haben das "Diese Frage muss beantwortet werden" direkt in der jeweiligen Frage eingestellt? Und auf den einzelnen Seiten nutzen Sie keinen weiteren PHP-Code?

by s118278 (110 points)
Vielen Dank!
Mit Ihrem Code funktioniert alles einwandfrei. Die Fragen können nicht mehr übersprungen werden.

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

...