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

Guten Tag

Ich habe leider das gleiche Problem - bei mir werden alle Fragen ohne vorherige Beantwortung der oberen Fragen eingeblendet.
Ich habe auch in der Fehlerkonsole geschaut, aber nichts gefunden, was falsch aussieht.

SD07 ist eine Frage vom Typ Mehrfachauswahl, SD08 bis SD10 sind Fragen vom Typ "Offene Texteingabe".

Das ist der Code, den ich verwende: (Der Code mit den if Abfragen ist noch nicht fertig)

<div class="default">
<script type="text/javascript">
<!--
var optionA = document.getElementById("SD07_01a"); //Mehrfachauswahl
var optionB = document.getElementById("SD07_02a");  
var optionC = document.getElementById("SD07_03a");  
var optionD = document.getElementById("SD07_04a");  
var optionE = document.getElementById("SD07_05a");  
var frage1 = document.getElementById("SD08_qst");  // HTML-ID der Texteingabe
var frage2 = document.getElementById("SD09_qst"); 
var frage2 = document.getElementById("SD10_qst"); 
 
function toogle() {
  // Die zwei Pipes (||) sind ein logisches "Oder"
  // Die Bedingung prüft also: Ist Option A ausgewählt oder ist B ausgewählt?
  if (optionA.checked || optionB.checked) {
    // Wurde "Ja" oder "Vielleicht" ausgewählt, dann wird die Frage angezeigt
    // Keine Angabe ("") verwendet die Standard-Einstellung (normal anzeigen)
    frage1.style.display = "";
  } else {
    // Mit der Anzeigeoption "none" wird die Frage ausgeblendet
    frage2.style.display = "none";
  }
}
 
// Die Funktion soll jedesmal ausgeführt werden, wenn eine der drei Optionen angeklickt wird
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);
 
// Und jetzt gleich soll sie auch ausgeführt werden, damit die Anzeige zu Beginn korrekt ist
// (z.B. ausblenden der Texteingabe zu Beginn)
toogle();
// -->
</script>

Wissen Sie vielleicht, woran das liegt? Ich habe den Code von der SosciSurvey Homepage einfach kopiert und konsistent weitergeführt...
Vielen Dank für Ihre Hilfe.
Viele Grüsse

in SoSci Survey (dt.) by s027767 (235 points)

1 Answer

0 votes

Womöglich ist es nur eine Kleinigkeit:

  1. Sie verwenden die Variable `frage2' zweimal - einmal für SD09 und einmal für SD10.

  2. In beiden Filterbedingungen sorgen Sie, dass entweder Frage 1 gezeigt wird oder dass Frage 2 ausgeblendet wird. Aber nicht dafür, dass das jeweils andere passiert. Versuchen Sie es doch einmal mit folgender Ergänzung im Filter.

HTML-/JavaScript-Ausschnitt:

  if (optionA.checked || optionB.checked) {
    frage1.style.display = "";
    frage2.style.display = "none";
  } else {
    frage1.style.display = "";
    frage2.style.display = "none";
  }

Wenn das Problem damit noch nicht gelöst ist, wäre ein Pretest- oder Vorschau-Link direkt zur betroffenen Seite hilfreich.

by SoSci Survey (63.5k points)
Herzlichen Dank.
Darf ich Ihnen den Link als private Nachricht senden?
Ich glaube, private Nachrichten im Onlnie-Support haben wir nicht aktiviert, damit niemand mit Spam bombardiert wird. Ist der Vorschau-Link vertraulich? Dann können Sie ihn mir mit Verweis auf diese Frage in SoSci Survey -> Benutzerkonto -> Nachrichten an "admin" senden.
...