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

0 votes

Hallo,

gibt es die Möglichkeit, eine Antwortpflicht bei einer Dropdown-Frage zu verlangen (wenn sie ausgewählt wird), die sich innerhalb einer Auswahlfrage befindet?

Wenn ich die Dropdown-Auswahl als antwortpflichtig markiere, funktioniert es nicht, da sonst die Frage nicht weitergeht ohne "Mutter" oder "Vater" auszuwählen - vor allem wenn eine der anderen Optionen angeklickt wurde. Lasse ich die Antwortpflicht weg, so kann der Teilnehmer auf "eine(r) von beiden" klicken, aber dann die Spezifizierung einfach übergehen. Wie löse ich das Problem?

in SoSci Survey (dt.) by s084821 (300 points)

4 Answers

0 votes

In diesem Fall müssten Sie auf der folgenden Seite den PHP-Code für eine individuelle Antwortprüfung ergänzen. Diese würde - wenn die entsprechende Option ausgewählt wurde - auf Vollständigkeit im Dropdown prüfen: value(...) > 0

by SoSci Survey (266k points)
Ich habe es auf der folgenden Seite eingefügt mit der Kennung des Dropdowns:

value('HS13') > 0;

Es hat aber nicht funktioniert. Fehlt noch etwas?
Das ist nur die Bedingung im Filter - den Rest des PHP-Codes für die Antwortprüfung inkl. buttonHide() benötigen Sie auch noch.
Weshalb buttonHide()?
Können Sie mir sagen, wie der Code genau lautet?
Ich habe es noch so versucht:

$items = getItems('HS13');
$answered = getItems('AB01', '>', 0);
if ((count($answered) > 0) and (count($answered) < count($items))) {
  repeatPage('errortext');
}

Jedoch tut sich da auch nichts...

genauso wie bei:

if (value ('HS13') > 0) {
repeatPage('errortext');

}


oder:

$miss = getItems('HS13', 'is', -9);
if (count($miss) == 0) {
  // Direkt weiter zur nächsten Seite, wenn kein Item fehlt
  goToPage('next');
}
// Fehlermeldung anzeigen
text('errortext');
// Frage erneut anzeigen, diesmal nur die fehlenden Items
question('HS13', $miss);
Pardon, das buttonHide() war falsch.

Allerdings verstehe ich nicht, warum Sie getItems() verwenden. Wie sind denn die Kennungen der Auswahl- und der Dropdown-Frage? Und welchen Antwortcode hat die dritte Option (mit dem zusätzlichen Dropdown)?
Das hatte ich aus der Bedienungsanleitung "Antworten prüfen" raus. Sorry, ich kenne mich mit Programmieren überhaupt nicht aus...

Also:
Die Auswahlfrage hat die Kennung HS03, die Dropdown-Frage HS13. Der Antwortcode der dritten Option mit dem Dropdown dürfte dann wohl HS03_3 sein.
(Ich füge zwei Screenshots als Antwort hinzu, damit Sie die Variablen sehen können.)
0 votes

by s084821 (300 points)
0 votes

Nun, die einfachste Lösung (auch für den Teilnehmer) wäre wohl, wenn man statt dem Dropdown in der Auswahl einfach die Optionen (c) nur meine Mutter und (d) nur mein Vater verwendet.

Aber zurück zur Antwortprüfung. Hier prüfen Sie den Wert der Auswahlfrage (=Antwortcode) - und müssen nun zwei Prfungen mit einem AND kombinieren. Das würde dann z.B. so aussehen:

if ((value('HS03') == 3) and (value('HS13') < 1)) {
  repeatPage('errortext');
}

Dieser Code muss, wie geschrieben, oben auf der Seite stehen, welche auf die Seite mit HS03 folgt. Und Sie müssen utner Textbausteine u. Beschriftung einen Text mit der Kennung "errortext" anlegen (oder die Kennung im PHP-Code entsprechend ändern).

by SoSci Survey (266k points)
Funktioniert! Super, danke!
0 votes

Ach, wie müsste ich das kombinieren, wenn es in einer Frage zwei Dropdowns gibt? :

if ((value('SE07') == 1) and (value('SE08') < 1)) {
repeatPage('errortext');
}

if ((value('SE07') == 2) and (value('SE09') < 1)) {
repeatPage('errortext');
}

by s084821 (300 points)
Ja, der PHP-Code sieht auf den ersten Blick korrekt aus. Bitte verwenden Sie für neue Fragen den "Ask Question" Knopf, sonst erkenne ich nicht, dass es eine neue Frage gab - wenn ich es nicht zufällig sehe.
...