0 votes
in SoSci Survey (dt.) by s222544 (640 points)

Hallo SoSci Survey Online Support,

vielen Dank für die Hilfe in meinem bisherigen Projekt.

Mittels Javascript habe ich bereits erfolgreich eine Folgefrage nach einer bestimmten Antwort eingeblendet.

Diese Folgefrage ist eine Mehrfachauswahl, die nach Details fragt - erscheint nur, wenn die erste Frage mit Ja beantwortet wird.

Jetzt möchte ich bei der Mehrfachauswahl überprüfen, ob mindestens eine Auswahl getroffen wurde. Die Mehrfachauswahl besteht aus 2 Optionen sowie einer offenen Texteingabe.

Zwar verstehe ich die Argumentation hinter diesem Beitrag (https://www.soscisurvey.de/help/doku.php/de:create:questions:checkbox), denke, aber, dass bei mir eine etwas andere Situation auftritt. Denn die erste Frage muss mit Ja beantwortet werden, damit die Mehrfachauswahlfrage erscheint.

Wie kann ich diesen PHP-Code verbessern?
// RY12 ist die Mehrfachauswahlfrage, JS05 ein Text, der anzeigt, dass die Frage nicht beantwortet wurde.

if ((value('RY12') == -9)) {
markFail('RY12');
repeatPage('JS05');
}

Die Variablen bei RY12 zeigen, dass es nur 1 gibt (nicht ausgewählt) oder 2 (ausgewählt).

Selbst wenn ich im PHP Code die -9 durch die 1 ersetze (mit dem Gedanken, wenn nichts ausgewählt wurde, wiederhole die Seite), ist bei Freilassen die gewünschte Handlung (repeat page) nicht eingetreten.

if ((value('RY12') == 1)) {
markFail('RY12');
repeatPage('JS05');
}

Vielen Dank für Ihre Hilfe!

1 Answer

0 votes
by SoSci Survey (327k points)

Jetzt möchte ich bei der Mehrfachauswahl überprüfen, ob mindestens eine Auswahl getroffen wurde.

Am zweit-einfachsten ist das mit getItems() möglich. Wenn Sie hier alle Items mit dem Wert 2 heraussuchen lassen, bekommen Sie eine Liste aller angekreuzten Items. Ist diese leer, wurde nichts angekreuzt.

if (count(getItems('RY12', 'is', 2)) < 1) {
    repeatPage();
}

Am einfachsten ist die Variable der Mehrfachauswahl, welche auch einfach die Anzahl der ausgewählten Optionen speichert:

if (value('RY12')) < 1) {
    repeatPage();
}

Die Variablen bei RY12 zeigen, dass es nur 1 gibt (nicht ausgewählt) oder 2 (ausgewählt).

Das ist der Fall für RY12_01, RY12_02 u.s.w., also für die Optionen. Nicht aber für RY12.

by s222544 (640 points)
Vielen Dank für die Umsetzung!

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

...