Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:questions:selclick [27.01.2015 14:49] – Aktualisiert adminde:create:questions:selclick [22.09.2017 10:44] – [JavaScript] admin
Zeile 31: Zeile 31:
   * Eine Filterführung zwischen den Teilfragen ist nicht möglich.   * Eine Filterführung zwischen den Teilfragen ist nicht möglich.
   * Die Auswahl-Abfolge benötigt zur korrekten Funktion [[:de:glossary#javascript|JavaScript]]. ist JavaScript deaktiviert, wird eine alternative Darstellung angezeigt und die Reaktionszeitmessung deaktiviert.   * Die Auswahl-Abfolge benötigt zur korrekten Funktion [[:de:glossary#javascript|JavaScript]]. ist JavaScript deaktiviert, wird eine alternative Darstellung angezeigt und die Reaktionszeitmessung deaktiviert.
 +
 +
 +===== JavaScript =====
 +
 +Der Container der Frage (die Fragekennung mit einem angehängten ''_qst'', also z.B. ''AB01_qst'' für Frage AB01) löst in aktuellen Browsern ein ''"select"'' Ereignis (Event) aus, wenn eine Option angeklickt wird.
 +
 +Das Ereignis enthält in `CustomEvent.detail` die Kennung der Frage (''detail.question''), die Nummer der Teilfrage (''detail.item''), den ausgewählten Wert (''detail.value'') und die Antwortzeit (''detail.latency'').
 +
 +<code javascript>
 +<script type="text/javascript">
 +function onSelect(evt) {
 +  var info = evt.detail;
 +  alert("In Frage " + info.question + " wurde für die Teilfrage " + info.item + " die Option " + info.value + " ausgewählt.");
 +}
 +
 +var question = document.getElementById("AB01_qst");
 +question.addEventListener("select", onSelect);
 +</script>
 +</code>
 +
 +Mittels ''CustomEvent.preventDefault()'' kann die Auswahl unterbunden werden, sodass die Frage die Auswahl des Teilnehmers nicht akzeptiert.
 +
 +<code javascript>
 +<script type="text/javascript">
 +function onSelect(evt) {
 +  // In Teilfrage 1 kann die Option 2 nicht (!) ausgewählt werden
 +  if ((evt.detail.item == 1) && (evt.detail.value == 2)) {
 +    evt.preventDefault();
 +  }
 +}
 +
 +var question = document.getElementById("AB01_qst");
 +question.addEventListener("select", onSelect);
 +</script>
 +</code>
 +
 +Mehr zur Einbindung von JavaScript in den Fragebogen s. [[https://www.soscisurvey.de/help/doku.php/de:create:javascript|JavaScript im Fragebogen]].
de/create/questions/selclick.txt · Zuletzt geändert: 01.10.2020 21:56 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki