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:dynamic [13.09.2023 21:29] adminde:create:dynamic [14.11.2024 20:41] (aktuell) – [Dropdown] admin
Zeile 22: Zeile 22:
   - In SoSci Survey kann man beliebige Inhalte in eine Fragebogenseite aufnehmen. Also auch JavaScript Code. Dies geschieht am einfachsten, indem man den Code unter **Textbausteine u. Beschriftung** als Textbaustein speichert (für die //Darstellung// muss man "HTML-Code" auswählen) und diesen Textbaustein beim **Fragebogen zusammenstellen** in die Seite zieht. Und zwar __unter__ die jeweilige Frage(n).   - In SoSci Survey kann man beliebige Inhalte in eine Fragebogenseite aufnehmen. Also auch JavaScript Code. Dies geschieht am einfachsten, indem man den Code unter **Textbausteine u. Beschriftung** als Textbaustein speichert (für die //Darstellung// muss man "HTML-Code" auswählen) und diesen Textbaustein beim **Fragebogen zusammenstellen** in die Seite zieht. Und zwar __unter__ die jeweilige Frage(n).
  
-**Wichtig:** Damit Fragen dynamisch eingeblendet werden können, müssen sie schon (unsichtbar) auf der Seite vorhanden sein. Blenden Sie keine Pflichtfragen ein/aus: Auch wenn der Teilnehmer unsichtbare Fragen nicht beantworten kann, besteht SoSci Survey bei Pflichtfragen auf eine Antwort. 
  
 **Hinweis:** Sie sollten den JavaScript Code so gestalten, dass er die nicht-benötigten Inhalte ausblendet -- nicht die benötigten einblendet. Das hat den Vorteil, dass Teilnehmer mit deaktiviertem JavaScript die Frage trotzdem beantworten können, weil sie hier gar nicht erst ausgeblendet wird. **Hinweis:** Sie sollten den JavaScript Code so gestalten, dass er die nicht-benötigten Inhalte ausblendet -- nicht die benötigten einblendet. Das hat den Vorteil, dass Teilnehmer mit deaktiviertem JavaScript die Frage trotzdem beantworten können, weil sie hier gar nicht erst ausgeblendet wird.
Zeile 35: Zeile 34:
  
  
-===== Beispiel 1a: Sichtbare Auswahl =====+ 
 +===== Sichtbare Auswahl =====
  
 Abhängig von einer Ja/Vielleicht/Nein-Frage ("JN01", sichtbare Auswahl) soll eine offene Textfrage ("TX01") angezeigt werden. Abhängig von einer Ja/Vielleicht/Nein-Frage ("JN01", sichtbare Auswahl) soll eine offene Textfrage ("TX01") angezeigt werden.
Zeile 74: Zeile 74:
 </code> </code>
  
-===== Beispiel 1b: Mehrere gleichartige Fragen =====+ 
 +===== Pflichtfragen ===== 
 + 
 +Damit Fragen dynamisch eingeblendet werden können, müssen sie schon (unsichtbar) auf der Seite vorhanden sein. Blenden Sie keine Pflichtfragen ein/ausAuch wenn der Teilnehmer unsichtbare Fragen nicht beantworten kann, besteht SoSci Survey bei Pflichtfragen auf eine Antwort. 
 + 
 +Wenn Sie die Antwort auf eine (womöglich) ausgeblendete Frage prüfen möchten, verwenden Sie eine [[:de:create:checks-php]]. Dort prüfen Sie, ob die Frage ausgeblendet oder beantwortet wurde. Falls nicht, zeigen Sie die Seite erneut an. 
 + 
 +Nachfolgend ein Beispiel-Code passend zum obigen Beispiel mit der sichtbaren Auswahl. Bitte denken Sie daran, dass der PHP-Code entweder unten auf der Seite bei "Verarbeitung der Antworten mittels PHP" eingetragen werden muss oder oben auf der nächsten Seite des Fragebogens. 
 + 
 +<code php> 
 +if ( 
 +    // Wird die Frage TX01 angezeigt? 
 +    ((value('JN01') == 1) || (value('JN01') == 2)) && 
 +    // Fehlt die Antwort bei der Texteingabe-Frage TX01? 
 +    (trim(value('TX01_01')) == ''
 +) { 
 +    // Seite erneut anzeigen 
 +    repeatPage(); 
 +
 +</code> 
 + 
 + 
 + 
 +===== Mehrere gleichartige Fragen =====
  
 Mitunter kommt es vor, dass dieselbe Funktion auf einer Fragebogen-Seite mehrfach zum Einsatz kommt. Wenn wir das vorige Beispiel nehmen: Nehmen wir einmal an, dass auf der Seite nicht nur eine Auswahl mit Zusatzfrage ist, sondern vier Auswahlfragen mit vier Zusatzfragen. Mitunter kommt es vor, dass dieselbe Funktion auf einer Fragebogen-Seite mehrfach zum Einsatz kommt. Wenn wir das vorige Beispiel nehmen: Nehmen wir einmal an, dass auf der Seite nicht nur eine Auswahl mit Zusatzfrage ist, sondern vier Auswahlfragen mit vier Zusatzfragen.
Zeile 136: Zeile 159:
  
  
-===== Beispiel 2: Dropdown =====+===== Dropdown =====
  
 Eine zusätzliche Frage ("DD02") soll abhängig davon angezeigt werden, ob in einer Dropdown-Auswahl ("DD01") eine bestimmte Option (z.B. jene mit Antwortcode "7") ausgewählt wurde. Eine zusätzliche Frage ("DD02") soll abhängig davon angezeigt werden, ob in einer Dropdown-Auswahl ("DD01") eine bestimmte Option (z.B. jene mit Antwortcode "7") ausgewählt wurde.
Zeile 162: Zeile 185:
  
  
-===== Beispiel 3Alternative Fragen =====+===== Rangordnung ===== 
 + 
 +Bei einer Rangordnungsfrage (z.B. "RK01") lässt sich die Änderung effizient über die von SoSci Survey bereitgestellte JavaScript-Instanz überwachen. Der folgende Beispiel-Code zeigt die Frage "AB01" an, wenn das Kärtchen 2 auf den Rangplatz 1, 2 oder gelegt wird. 
 + 
 +<code javascript> 
 +<script> 
 +function toggle() { 
 +  var frage = document.getElementById('AB01_qst'); 
 +  var input = s2.RK01.item(2).input; 
 +   
 +  if ((input.value >= 1) && (input.value <= 3)) { 
 +    frage.style.display = ""; 
 +  } else { 
 +    frage.style.display = "none"; 
 +  } 
 +
 + 
 +window.addEventListener("load", function() { 
 +    s2.RK01.addEventListener("click", toggle); 
 +}); 
 +</script> 
 +</code> 
 + 
 +===== Alternative Fragen anbieten =====
  
 Sie haben eine Dropdown-Auswahl "AB05" und möchten abhängig von der Auswahl eine weitere Auswahl anbieten. Dafür muss im vorliegenden Beispiel neben der ersten Auswahl (Lieblingsstadt) für jede Stadt eine weitere Auswahl (Sehenswürdigkeit) erstellt und auf der Seite eingebunden werden. Sie haben eine Dropdown-Auswahl "AB05" und möchten abhängig von der Auswahl eine weitere Auswahl anbieten. Dafür muss im vorliegenden Beispiel neben der ersten Auswahl (Lieblingsstadt) für jede Stadt eine weitere Auswahl (Sehenswürdigkeit) erstellt und auf der Seite eingebunden werden.
Zeile 171: Zeile 217:
  
 **Tipp:** Das dynamische Einblenden von Fragen funktioniert auch in Kombination mit der [[:de:create:table-layout|Platzierung von Fragen nebeneinander]]. **Tipp:** Das dynamische Einblenden von Fragen funktioniert auch in Kombination mit der [[:de:create:table-layout|Platzierung von Fragen nebeneinander]].
 +
  
 ==== Fragebogen-Seite ==== ==== Fragebogen-Seite ====
de/create/dynamic.1694633390.txt.gz · Zuletzt geändert: 13.09.2023 21:29 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