0 votes
in SoSci Survey (dt.) by s137973 (240 points)
edited by s137973

Die Frage S105 (Erweiterte Auswahl, Mehrfachnennungen) dient als Filterfrage:

$item = getItems('S105', 'is', 2);
$item = array_diff($item, [1,8,18,33,45,51,63,73]);
$item = loopPage($item);
multiLevelDown('qnr2', $item);

Es funktioniert alles einwandfrei, nur musste ich beim Testen feststellen, dass, ob wohl die Frage S105 eine Pflichtfrage ist, beim Nicht-Ausfüllen der Frage und Anklicken des Buttons "Weiter" keine Warnung kommt bzw. nicht nachgehackt, sondern gleich zum Fragebogen qnr2 übergegangen wird. Da aber nichts ausgewählt wurde, kommt die Fehlermeldung:

Das Item S105_0 gibt es im Befragungsprojekt nicht.

Ich möchte, dass min. 1 Modul (Ebene 2) aus der Liste S105 ausgewählt wird. Andernfalls soll nachgehackt/gewarnt werden. Oder ist es bei diesem Fragetyp nicht möglich?

1 Answer

0 votes
by SoSci Survey (328k points)

Es funktioniert alles einwandfrei, nur musste ich beim Testen feststellen, dass, ob wohl die Frage S105 eine Pflichtfrage ist, beim Nicht-Ausfüllen der Frage und Anklicken des Buttons "Weiter" keine Warnung kommt bzw. nicht nachgehackt

Bitte stellen Sie unter "Weitere Einstellungen" -> "Auswahloptionen" ein, dass 1 " Optionen müssen mindestens angekreuzt werden".

Da aber nichts ausgewählt wurde, kommt die Fehlermeldung:
Das Item S105_0 gibt es im Befragungsprojekt nicht.

Bitte unterscheiden Sie sauber zwischen der Liste $items und der Einzel-Variable $item. Ergänzen Sie evtl. noch einen Filter für den Fall, dass nichts ausgefüllt wird:

$items = getItems('S105', 'is', 2);
$items = array_diff($items, [1,8,18,33,45,51,63,73]);
if (count($items) == 0) {
  goToPage('next');
}
$item = loopPage($items);
multiLevelDown('qnr2', $item);

Ich möchte, dass min. 1 Modul (Ebene 2) aus der Liste S105 ausgewählt wird.

Dann müssen Sie über die automatische Antwortpflicht hinausgehen und eine individuelle Antwortprüfung ergänzen. Das sieht fast genauso aus wie der Filter für "nichts angekreuzt":

$items = getItems('S105', 'is', 2);
$items = array_diff($items, [1,8,18,33,45,51,63,73]);
if (count($items) == 0) {
  repeatPage('XX99');
}
$item = loopPage($items);
multiLevelDown('qnr2', $item);

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

...