0 votes
in SoSci Survey (dt.) by s027767 (235 points)
edited by s027767

Liebes SosciSurvey Team

Innerhalb einer Fragebogenseite möchte ich gerne ja nach Beantwortung der ersten Frage (ja/nein) eine zweite Frage stellen (falls ja angekreuzt wurde).

Dies hat auch dank der tollen Anleitung zu Javascript geklappt. Ein Problem habe ich dabei aber doch noch:
Wenn ich die zweite Frage als "vollständig zu beantworten" speichere, dann kommen die Teilnehmenden auf dieser Fragebogenseite nicht mehr weiter, sofern sie die erste Frage mit "nein" beantwortet haben.
Dann erscheint "Bitte beantworten Sie die Frage", da die zweite Frage mit Hilfe des Javascripts nur unsichtbar ist, aber trotzdem noch auf der Fragebogenseite vorhanden ist.
Gibt es eine Möglichkeit, dies zu umgehen?
Für unsere Online-Studie wäre es wichtig, dass alle Fragen vollständig beantwortet werden sollen.

Dann ist mir noch eine weitere Frage eingefallen: Gibt es auch eine Möglichkeit mit Hilfe des Javascripts je nach Beantwortung einer Frage einen Textbaustein einzublenden?
Etwas in die Richtung "var text = document.getElementById("nametextbaustein_txt");"?
Müsste ich um den Textbaustein ein div-tag machen um den Textbaustein damit einblenden zu können? Zumindest mit <div id = "nametextbaustein_txt"> ... </div> (in HTLM Feld) hat es leider nicht geklappt.

Herzlichen Dank für den Support und viele Grüsse

1 Answer

0 votes
by SoSci Survey (302k points)

Für unsere Online-Studie wäre es wichtig, dass alle Fragen vollständig beantwortet werden sollen.

Die Antwortpflicht verträgt sich nicht mit dem dynamischen Ein-/Ausblenden via JavaScript. Aber es gibt eine andere Lösung. Deaktivieren Sie zunächst die Antwortpflicht für die Frage. Dann platzieren Sie auf der folgenden Seite (!) ein paar Zeilen PHP-Code, welche überprüfen, ob "ja" angekreuzt und die zweite Frage beantwortet wurde. Wenn nicht, schicken Sie den Teilnehmer mittels repeatPage() zur vorigen Seite, s. Individuelle Antwort-Prüfung

if ((value('AB01') == 2) and (value('AB02') < 1)) {
  markFail('AB02');
  repeatPage('fehlertext-ID');
}

Dann ist mir noch eine weitere Frage eingefallen: Gibt es auch eine Möglichkeit mit Hilfe des Javascripts je nach Beantwortung einer Frage einen Textbaustein einzublenden?

Ja, das funktioniert ebenso wie bei Fragen. Allerdings müssen Sie ggf. darauf achten, dass die JavaScript-Funktionen unterschiedliche Namen verwenden. Details gerne in einer neuen Frage im Support-System. In dem Kontext auch hilfreich: JavaScript -> Fehler finden

by s027767 (235 points)
Vielen Dank, das war sehr hilfreich.

Wenn ich zwei Fragen als "verpflichtend zu beantworten" anzeigen lassen möchte, habe ich
...
markFail('AB02');
markFail('AB03');
...

geschrieben, was nicht funktioniert hat. Kann man diesen Trick nur für eine Frage anwenden?

Vielen Dank nochmals.
Viele Grüsse
by SoSci Survey (302k points)
Das markFail() sorgt nur dafür, dass ein Eingabefeld/Item als "fehlend" hervorgehoben wird. Wenn das nicht wie gedacht klappt: Welche Fragetypen haben die beiden Fragen?

Die eigentliche Prüfung der Vollständigkeit erfolgt über den Filter.
by s027767 (235 points)
Die Frage AB02 ist ein offenes Textfeld, AB03 eine Likert-Skala.
Gut wäre, wenn die Frage mit der Likert-Skala ebenfalls rot hervorgehoben wird, wenn sie nicht beantwortet wurde. (Mit AB02 klappt es wunderbar.) :-)
Danke.
by s027767 (235 points)
Ich habe doch noch eine andere Lösung gefunden, vielen Dank für Ihre Hilfe! :-)
Ich liebe SosciSurvey einfach. :-D

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

...