Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:soscitools [27.05.2021 15:05] sophia.schauerde:create:soscitools [09.03.2024 17:14] (aktuell) – [Fragebogen-Steuerung] admin
Zeile 19: Zeile 19:
 ==== Fragebogen-Steuerung ==== ==== Fragebogen-Steuerung ====
  
-  * ''SoSciTools.submitPage()'' -- Die Antworten der aktuellen Seite übermitteln, so als würde der Weiter-Knopf gedrückt.+  * ''SoSciTools.submitPage()'' -- Die Antworten der aktuellen Seite übermitteln, so als würde der Weiter-Knopf gedrückt. Mit dem Parameter ''%%"back"%%'' kann auch der Zurück-Knopf aktiviert werden (falls auf der Seite vorhanden), mit ''%%"repeat"%%'' werden die Antworten übermittelt und die Seite dann wiederholt.
  
 ==== Knöpfe im Fragebogen ==== ==== Knöpfe im Fragebogen ====
Zeile 34: Zeile 34:
   * ''[[:de:create:soscitools:detachevent|SoSciTools.detachEvent()]]'' -- Löst eine vorher zugewiesene Funktion von einem JavaScript-Ereignis (browserübergreifend)   * ''[[:de:create:soscitools:detachevent|SoSciTools.detachEvent()]]'' -- Löst eine vorher zugewiesene Funktion von einem JavaScript-Ereignis (browserübergreifend)
   * ''[[:de:create:soscitools:dispatchevent|SoSciTools.dispatchEvent()]]'' -- Löst ein JavaScript-Ereignis aus (browserübergreifend)   * ''[[:de:create:soscitools:dispatchevent|SoSciTools.dispatchEvent()]]'' -- Löst ein JavaScript-Ereignis aus (browserübergreifend)
 +  * ''[[:de:create:soscitools:findcontainer|SoSciTools.findContainer(node, containerName, containerClass, alternativeClass)]]'' -- sucht einen Container zu einem Element
   * ''[[:de:create:soscitools:getsender|SoSciTools.getSender()]]'' -- Ermittelt das Ursprungsobjekt eines JavaScript-Ereignisses (browserübergreifend)   * ''[[:de:create:soscitools:getsender|SoSciTools.getSender()]]'' -- Ermittelt das Ursprungsobjekt eines JavaScript-Ereignisses (browserübergreifend)
   * ''[[:de:create:soscitools:inarray|SoSciTools.inArray()]]'' -- Prüft, ob ein Element in einem Array enthalten ist (browserübergreifend)   * ''[[:de:create:soscitools:inarray|SoSciTools.inArray()]]'' -- Prüft, ob ein Element in einem Array enthalten ist (browserübergreifend)
-  * ''[[:de:create:soscitools:recordtime|SoSciTools.recordTime()]]'' -- zeichnet die Bearbeitungszeit in einer interne Variable auf.+  * ''[[:de:create:soscitools:recordtime|SoSciTools.recordTime()]]'' -- zeichnet die Bearbeitungszeit in einer interne Variable auf, siehe auch [[:de:create:javascript:latencytimer|LatencyTimer]]. 
 +  * ''[[:de:create:questions:text#zeilen_nacheinander_einblenden|SoSciTools.dynamicRows()]]'' -- blendet die Eingabefelder einer Texteingabe-Frage nach Bedarf ein
  
  
 ===== SoSciTools.Questionnaire ===== ===== SoSciTools.Questionnaire =====
  
-Die Variable ''SoSciTools.questionnaire'' beherbergt ein Objekt der Klasse ''SoSciTools.Questionnaire''. Das Objekt unterstützt folgende Methoden:+Die Variable ''SoSciTools.questionnaire'' beherbergt ein Objekt der Klasse ''SoSciTools.Questionnaire''Das Objekt ''SoSciTools.questionnaire'' ist auch unter dem Alias ''s2'' verfügbar (''window.s2'').  
 + 
 +Das Objekt unterstützt folgende Methoden:
  
   * ''[[:de:create:soscitools:questionnaire:attachcheck|attachCheck()]]'' -- Registriert eine Funktion zur Prüfung der Eingabe. Die Funktion wird aufgerufen, wenn der Teilnehmer den Weiter-Knopf verwendet.   * ''[[:de:create:soscitools:questionnaire:attachcheck|attachCheck()]]'' -- Registriert eine Funktion zur Prüfung der Eingabe. Die Funktion wird aufgerufen, wenn der Teilnehmer den Weiter-Knopf verwendet.
   * ''submit()'' -- Die Antworten der aktuellen Seite übermitteln, so als würde der Weiter-Knopf gedrückt.   * ''submit()'' -- Die Antworten der aktuellen Seite übermitteln, so als würde der Weiter-Knopf gedrückt.
 +
 +Darüber hinaus werden die (meisten) Fragen auf der Fragebogen-Seite durch ein JavaScript-Objekt innerhalb von ''s2'' repräsentiert. Dieses ist unter der Kennung der Frage verfügbar. Eine Auswahlfrage mit der Kennung ''SE01'' ist etwa unter ''s2.SE01'' verfügbar. Es handelt sich dabei um ein Objekt der Klasse ''SoSciTools.Question''.
 +
 +
 +===== SoSciTools.Question =====
 +
 +(Die meisten) Fragen werden durch ein Objekt der Klasse ''SoSciTools.Question'' repräsentiert. Dieses Objekt hat die folgenden Eigenschaften:
 +
 +  * ''label'' (lesen) -- Liefert die Kennung der Frage
 +  * ''type'' (lesen) -- Liefert eine Kennung für den Fragetyp
 +  * ''node'' (lesen) -- Liefert das HTML-Element, welches die Frage repräsentiert, normalerweise entspricht das dem Element mit der HTML-ID  ''[Frage-Kennung]_qst''.
 +
 +Darüber hinaus ist die folgende Methode verfügbar:
 +
 +  * ''addEventListener()'' -- Listener werden dabei direkt für das HTML-Element der Frage registriert. Der Aufruf ''s2.AB01.addEventListener()'' ist äquivalent zu ''document.getElementById("AB01_qst").addEventListener()''.
 +
 +Einige Fragetypen (z.B. die Auswahl) lösen ein Ereignis ''%%'response'%%'' aus, wenn die Befragten mit der Frage interaktivieren. Das Ereignis (''CustomEvent'') hat die folgenden Eigenschaften:
 +
 +  * ''detail.question'' -- ''{string}'' Kennung der Frage
 +  * ''detail.element'' -- ''{int}'' Nummer der Option, des Items oder der Teilfrage
 +  * ''detail.complete'' -- ''{boolean}'' Kann die Frage als vollständig beantwortet betrachtet werden
 +  * ''detail.optional'' -- ''{int}'' Wie viele optionale Antworten (z.B. offene Eingabefelder zu den gewählten Optionen) können/sollten ausgefüllt werden? Eine Frage kann vollständig beantwortet sei (z.B. Auswahl einer Option und Eingabe eines Zeichens im offenen Eingabefeld) und dennoch auf weitere Antworten (weitere Zeichen im Eingabefeld) warten.
 +
  
 ===== SoSciTools.Progress ===== ===== SoSciTools.Progress =====
Zeile 52: Zeile 79:
   * ''[[:de:create:soscitools:progress:addeventlistener|addEventListener()]]'' -- Registriert eine Funktion für die Ereignisse '''present''' oder '''change'''.   * ''[[:de:create:soscitools:progress:addeventlistener|addEventListener()]]'' -- Registriert eine Funktion für die Ereignisse '''present''' oder '''change'''.
   * ''[[:de:create:soscitools:progress:set|set()]]'' -- Ändert den angezeigten Prozentwert. Anders als die PHP-Funktion ''[[:de:create:functions:option|option('progress', ...)]]'' hat dies keinen Einfluss auf den Prozentwert, der auf der nachfolgenden Seite angezeigt wird.   * ''[[:de:create:soscitools:progress:set|set()]]'' -- Ändert den angezeigten Prozentwert. Anders als die PHP-Funktion ''[[:de:create:functions:option|option('progress', ...)]]'' hat dies keinen Einfluss auf den Prozentwert, der auf der nachfolgenden Seite angezeigt wird.
 +  * ''setWithinPage()'' -- Ändert den angezeigte Wert anteilig innerhalb der aktuellen Seite, wobei angenommen wird, dass der Fortschrittsbalken auf der folgenden Seite anteilig der Seitenzahl im Gesamtfragebogen steigt.
 +  * ''setPageMaximum()'' -- Ändert den Wert, mit welchem ''setWithinPage()'' arbeitet. Diese JavaScript-Funktion hat genauso wie ''set()'' keinen Einfluss darauf, welchen Fortschrittswert die nächste Seite anzeigen wird.
 +
 +
de/create/soscitools.1622120741.txt.gz · Zuletzt geändert: 27.05.2021 15:05 von sophia.schauer
 
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