0 votes
in SoSci Survey (dt.) by s120134 (180 points)
edited by SoSci Survey

Sehr geehrtes Team von SoSci Survey,

vielen lieben Dank, dass ich Ihr Tool für meine Forschung an der Universität Leipzig nutzen darf!

Das Folgende würde ich gern abbilden:

Frage VU03:
Haben Sie sich zuvor bereits mit Versicherungen beschäftigt oder sie gar abgeschlossen?

Wenn ja (Variable 01), weiter zu Frage VU04.

Wenn nein (Variable 02), weiter zu Frage VU08.


Von Frage VU04 = Haben Sie schon einmal eine Reiseversicherung abgeschlossen?
Wenn ja, weiter zu Frage VU16.
VU16 = Was umfasste Ihre letzte Reiseversicherung?
Wenn nein, weiter zu Frage VU06.
VU06 = Würden Sie es bei einer Ihrer nächsten Reisen in Erwägung ziehen?


Wenn VU03 mit ja beantwortet wurde und alles um die folgende VU04 beantwortet wurde, sollen beide die Frage VU07 = Welche weiteren Arten von Versicherungen haben sie bereits genutzt oder nutzen sie noch? gestellt bekommen. Danach geht es dann auch für sie weiter mit Frage VU08.

Ich habe heut 12 Stunden versucht, diese Variante auf der selben Seite hinzubekommen und habe mir die Hilfestellungen durchgelesen. Anhand derer habe ich zuerst einmal einen Textbaustein mit Format HTML Code wie folgt angelegt:

<script type= text/javascript">
<!--
var optionA = document.getElementByID("VU03_01");
var optionB = document.getElementByID("VU03_02");
var frage = document.getElementByID("VU04_qst");

function toogle() {
  
  if ((optionA.checked)) {
    
    frage.style.display = "";
  } else {
    frage.style.display = "none";
  }
}

SoSciTools.attachEvent(optionA, "click", toogle);
SoSciTools.attachEvent(optionB, "click", toogle);
 
toogle();
// -->
</script>

Diesen habe ich unter die Fragen VU03 und VU04 auf meiner Fragebogenseite gesetzt. Frage VU04 muss dabei zwar dringend beantwortet werden, aber ich habe sie erstmal auf "muss nicht beantwortet werden gestellt", da ich gelesen habe, das Fragen für das dynamische Ein- und Ausblenden "unsichtbar" sein müssen.

So wollte ich das für alle Filterfragen machen. Leider hat es aber schon hier im ersten Schritt nicht funktioniert und daher komme ich einfach nicht weiter.

Ich würde mich über Ihre Hilfe sehr, sehr freuen! Vielen lieben Dank schon einmal vorweg!

Mit freundlichen Grüßen,

Michèle Geisler

PS. Für die Antwortpflicht habe ich schon Folgendes gefunden:

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');
}
by SoSci Survey (304k points)
> Was ich mich nur frage, warum Frage VU06 schon von Anfang an angezeigt wird?

Die Funktion toogleVU04() kennt nur zwei Zustände: Entweder ist Option A ausgewäählt oder nicht. Wenn nicht (das ist zu Beginn der Fall), dann wird die Frage B gezeigt.

Sie könnten stattdessen auch einzeln prüfen, was angeklickt ist:


function toogleVU04() {
    frageVU04A.style.display = "none";
    frageVU04B.style.display = "none";
    if (optionVU04A.checked) {
        frageVU04A.style.display = "";
    }
    if (optionVU04B.checked) {
        frageVU04B.style.display = "";
    }
}
by SoSci Survey (304k points)
Das display = "none" blendet die Frage erstmal aus. Das display = "" zeigt sie an. Nicht ganz intuitiv, aber zielführend :)
by s120134 (180 points)
Tausend Dank!
by s120134 (180 points)
Eine allerletzte Frage:

Nach diesen ganzen Programmierungen und Filterfragen ist die Nummerierung der Fragen nun nicht mehr korrekt. Händisch kann ich sie leider nicht ändern, da nach einigen Filtern die Fragen zum Schluss wieder zusammenführen. Können Sie mir bitte helfen?
by SoSci Survey (304k points)
Die Nummerierung passt dann nicht, wenn ausgeblendete Fragen eine Nummer bekommen. Ich empfehle, die Nummerierung für die Fragen, die Sie per JavaScript ein/ausblenden, einfach in der Frage abzuschalten.

Wenn Sie das nicht möchten, wird es ein klein wenig komplizierter. Dann müssten Sie mit Texten (Rukrik -> Neuer Text) arbeiten, die eine Nummer anzeigen. Und diese müssten mittels Filter auf der Folgeseite unsichtbar eingebunden werden.

1 Answer

0 votes
by SoSci Survey (304k points)

Mit den Korrekturen scheint es im ersten Schritt schonmal zu funktionieren. Glückwunsch :)

Nebst der Fehlerkonsole ist auch der "Inspektor" in den Entwickler.Tools sehr hilfreich. Damit kann man ein Formularelement (z.B. ein Auswahlfeld) einfach anklicken und einfach nachsehen, welche HTML-ID es hat.

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

...