0 votes
in SoSci Survey (dt.) by s023784 (140 points)

Guten Morgen.

In meinem Fragebogen arbeite ich mit Filterfragen, die mittels PHP-Code direkt bei der jeweiligen Beantwortung eines Antwortitems aufklappen. Das funktioniert auch ganz wunderbar.

z.B. Welche Schule besucht Ihr Kind? --> Förderschule --> neues Item // --> Gymnasium --> kein neues Item

Allerdings nicht (!), wenn die auszufüllende Person versucht, die jeweilige Seiten zu überspringen. Die Seite wird erneut angezeigt (da alles Pflichtfragen sind). Dann werden die Antwortitems für die Filterfragen nicht (!) aufgeklappt.

Hier ist der Pretestlink, ich würde mich sehr freuen, wenn Sie sich das einmal anschauen würden und mir helfen könnten.

https://www.soscisurvey.de/abas3eltern/?act=iS0TjAijOtrI2AdvyGNnyIpF

Herzliche Grüße

by SoSci Survey (304k points)
Der Pretest-Link scheint zum Begrinn des Fragebogens zu führen. Könnten Sie bitte einen Link posten, der direkt zur betroffenen Seite führt? Danke!

Vermutlich muss die Funktion, welche sich um das Auf-/Zuklappen kümmert nur einmal extra direkt beim Laden aufgerufen werden.
by s023784 (140 points)
Danke für Ihre Antwort.
Der Link ist folgend: https://www.soscisurvey.de/abas3eltern/index.php?i=GPOF0B9LJY0B&rnd=JVRN


Filterfrage ist z.B. Welche Schulform? - Förderschule; oder bei den Behinderungsformen, wenn man "Ja" anklickt

Wie gesagt, an sich funktioniert es, aber wenn man die Seite überspringen will und dann alles rot markiert wird, funktioniert es nicht mehr...

1 Answer

0 votes
by SoSci Survey (304k points)

Danke für den aktualisierten Link. Erstmal eine Warnung vorweg: Sie verwenden in unterschiedlichen Scripten auf der Seite mehrfach den Variablennamen var frage10. Das wird so nicht funktionieren.

Auch wird einiger Code mehrfach mit gleichen IDs auf der Seite verwendet, z.B.

var frage1 = document.getElementById("HK09_qst");

Und darüber hinaus gibt es auf der Seite gar keine Frage KH09, sodass in der JavaScript-Fehlerkonsole (im Browser) gleich eine ganze Menge Fehler gelistet werden. Ich empfehle, diese zu beheben, damit es nicht später noch unerwartete Probleme gibt - z.B. wenn ein Browser etwas empfindicher ist.

Der JavaScript-Code zur Schulart/Förderschule steht über den beiden Fragen, auf welche der Code Einfluss nehmen soll. Bitte ziehen Sie das Script unter die Fragen, dann sollte es funktionieren.

by s023784 (140 points)
Hallo,

ich versuche immer noch den Fragebogen zu bearbeiten.
Mir ist nicht klar, was sie mit "gleichen IDs" auf der Seite meinen. Inwiefern müsste die ID denn verändert werden?

Bzgl. KH09, diese Frage gibt es in dem Fragebogen gar nicht. Und HK09 gäbe es, daher kann ich diesen "Fehler" auch nicht nachvollziehen.

Geändert habe ich bisher, dass ich den Code nur noch unter den Fragen stehen habe. Aber auch das hat leider mein Problem nicht behoben.

Vielleicht haben Sie ja noch einen anderen Lösungsvorschlag.

Vielen Dank!
by SoSci Survey (304k points)
Der obige Link führt aktuell nicht mehr zur betroffenen Seite. Wenn Sie einen neuen Link posten, sehe ich es mir gerne an.

> Mir ist nicht klar, was sie mit "gleichen IDs" auf der Seite meinen. Inwiefern müsste die ID denn verändert werden?

Die IDs der Fragen sind in Ordnung (sofern sie auch existieren, versteht sich). Aber die Variablennamen, die Sie für JavaScript-Variablen verwenden, müssen eindeutig sein.
by s023784 (140 points)
Der aktuelle Link lautet: https://www.soscisurvey.de/tutorial161941/index.php?i=QOFUKWTUPAMO&rnd=DCNG

Könnten Sie bitte beschreiben, was genau verändert werden muss? Mir ist nicht klar, was hier die JavaScript-Variablen sind und wie diese "eindeutig" zu benennen sind.

<script type="text/javascript">
<!--
var dropdown1 = document.getElementById("HK06");  // Das Eingabefeld der Frage DD01
var frage1 = document.getElementById("HK09_qst");  // Die Frage DD02, die ein-/auszublenden ist
 
function toogle1() {
  if (dropdown1.value == "9") {  // Hier den Wert (Antwortcode) eintragen, bei dem das zweite Dropdown eingeblendet werden soll
    frage1.style.display = "";
  } else {
    frage1.style.display = "none";
  }
}
 
SoSciTools.attachEvent(dropdown1, "change", toogle1);  // Bei einer Änderung der Auswahl die Anzeige anpassen
SoSciTools.attachEvent(dropdown1, "click", toogle1);  // Auch beim Klick prüfen - sonst wird die Änderung evtl. erst beim Verlassen des Dropdowns wirksam
toogle1();  // Und zu Beginn auch die korrekte Anzeige sicherstellen
// -->
</script>

Herzlichen Dank!
by s023784 (140 points)
Mittlerweile funktioniert es, ich hatte sowohl im HTML-Code als auch in der Fragebogen-Katalog-Seite die Fragen als Filterfragen definiert. Doppelt hält hier wohl nicht besser. ;-)
Nun funktioniert alles so wie es sollte.

Eine letzte Frage hätte ich diesbezüglich noch; die Filterfragen, die dann dynamisch auftauchen, kann man nicht im Nachhinein als Pflicht markieren, oder?

Vielen Dank!
by SoSci Survey (304k points)
Durch den zusätzlichen Filter in der Frage wurde die andere Frage gar nicht mehr in den Fragebogen eingebunden - konnte also auch nicht eingeblendet werden. Fein, wenn es nun klappt.

> die Filterfragen, die dann dynamisch auftauchen, kann man nicht im Nachhinein als Pflicht markieren, oder?

Nicht ganz einfach zumindest... Sie müssten hier mit einer individuellen ANtwortprüfung und markFail() arbeiten, vgl. https://www.soscisurvey.de/help/doku.php/de:create:checks-php

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

...