0 votes
in SoSci Survey (dt.) by s136815 (550 points)
edited by s139847

Hallo,
auf einer Seite sollen zwei Fragen dargestellt werden. Die zweite Frage soll aber zunächst verdeckt sein und nur beim Anklicken auf ein Item (Option Sonstiges bzw. K) der ersten Frage eingeblendet werden. Dazu habe ich folgendes JavaScript unter beide Fragen eingefügt.

<script type="text/javascript">
var optionA = document.getElementById("MI67_01a");  // Option "1"
var optionB = document.getElementById("MI67_02a");  // Option "2"
var optionC = document.getElementById("MI67_03a");  // Option "3"
var optionD = document.getElementById("MI67_04a");  // Option "4"
var optionE = document.getElementById("MI67_05a");  // Option "5"
var optionF = document.getElementById("MI67_06a");  // Option "6"
var optionG = document.getElementById("MI67_07a");  // Option "7"
var optionH = document.getElementById("MI67_08a");  // Option "8"
var optionI = document.getElementById("MI67_09a");  // Option "9"
var optionJ = document.getElementById("MI67_10a");  // Option "10"
var optionK = document.getElementById("MI67_11a");  // Option "Sonstiges"
var frage = document.getElementById("MI68_qst");  // HTML-ID der Texteingabe
 
function toogle() {
    if ((optionK.checked)) {
          frage.style.display = "";
  } else {
       frage.style.display = "none";
  }
}
 
SoSciTools.attachEvent(optionA, "click", toogle);
SoSciTools.attachEvent(optionB, "click", toogle);
SoSciTools.attachEvent(optionC, "click", toogle);
SoSciTools.attachEvent(optionD, "click", toogle);
SoSciTools.attachEvent(optionE, "click", toogle);
SoSciTools.attachEvent(optionF, "click", toogle);
SoSciTools.attachEvent(optionG, "click", toogle);
SoSciTools.attachEvent(optionH, "click", toogle);
SoSciTools.attachEvent(optionI, "click", toogle);
SoSciTools.attachEvent(optionJ, "click", toogle);
SoSciTools.attachEvent(optionK, "click", toogle);
 
toogle();
</script>

Bei Aufrufen der Seite wird die zweite Frage auch wie beabsichtigt, nicht dargestellt. Wird Option K angeklickt und auf weiter geklickt, erscheint die Frage 2 jedoch nicht, sondern es wird direkt auf die danach folgende Frage weitergeleitet.
Wie kann ich das ändern?
Viele Grüße und vielen Dank im Voraus.

1 Answer

0 votes
by SoSci Survey (328k points)

Wird Option K angeklickt und auf weiter geklickt, ...

Mit JavaScript können Sie Filter programmieren, welche eine Frage auf derselben Seite anzeigen/ausblenden wie die ursprüngliche Frage. Sie müssten also beide Fragen MI67 und MI68 auf die Seite ziehen. Sobald Sie Optionen K anklicken, müsste sofort MI68 erscheinen.

Wenn das nicht klappt, suchen Sie bitte die JavaScript-Fehlerkonsole Ihres Browsers und halten Sie nach Fehlermeldungen Ausschau. Posten Sie auch gerne einen Pretest-Link direkt (!) zur betroffenen Fragebogen-Seite hier.

Wenn Sie ohnehin auf "Weiter" klicken würden, dann verwenden Sie stattdessen einen normalen Filter. Für diesen müssen Sie nicht einmal programmieren - den können Sie direkt in MI67 anlegen (sofern es eine Auswahlfrage ist).

by s136815 (550 points)
Fragen 67 und 68 sind auf Seite 45 des Fragebogens eingestellt und nach der Frage 68 ist der JavaScript-Code eingefügt. Die Idee ist, wenn Option K der Frage 67 angeklickt wird, sollte die Frage 68 auf derselben Seite eingeblendet werden. Ist diese Frage beantwortet oder auch nicht, soll bei Anklicken auf Weiter auf die nächste Seite (46) weitergeleitet werden.
In der JavaScript-Fehlerkonsole kann ich keine hilfreichen Fehlermeldungen entdecken. Daher schicke ich nachfolgend den Pretest-Link auf die Seite 45 des Fragebogens:
https://www.soscisurvey.de/kult-aesth-BA-BK/?act=8HkA029cxMA9qpv86t5oiy3V
Wenn das alles nicht klappt, werde ich die Filterlösung einrichten.
Viele Grüße und vielen Dank im Voraus.

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

...