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:text [18.08.2019 17:40] adminde:create:questions:text [14.02.2022 08:26] admin
Zeile 62: Zeile 62:
  
 <code php> <code php>
-option('script', 'SCEditor'); +library('SCEditor'); 
 </code> </code>
  
Zeile 210: Zeile 210:
 // --> // -->
 </script> </script>
 +</code>
 +
 +
 +==== Zeilen nacheinander einblenden ====
 +
 +Beim Fragetyp [[:de:create:questions:textmentions|Offene Nennungen]] werden neue Textzeilen angezeigt, wenn die Befragten "oben" etwas eingetragen haben. Dieses Verhalten kann man auch für Fragen des Typs "Texteingabe offen" anwenden.
 +
 +Dafür wird die JavaScript-Funktion ''SoSciTools.dynamicRows()'' verwendet. Diese Methode erwartet zwei Parameter, zum einen die Anzahl der leeren Eingabefelder/Zeilen, die "unten" sichtbar sein sollen. Zum anderen eine Liste (Array) der HTML-IDs der Eingabefelder.
 +
 +''void **SoSciTools.dynamicRows**(string //Anzahl//, array //Eingabefelder//)''
 +
 +Wenn man etwas die offene Texteingabe "TX03" mit 5 Items hat (Kennungen ''TX03_01'' bis ''TX03_05'') und jeweils 2 leere Eingabefelder anzeigen will, sähre der JavaScript-Code wie folgt aus:
 +
 +
 +<code javascript>
 +SoSciTools.dynamicRows(2, ["TX03_01", "TX03_02", "TX03_03", "TX03_04", "TX03_05"]);
 +</code>
 +
 +Möchte man dies als HTML-Code in den Fragebogen einbinden, sind natürlich die ''<script>''-Tags zu ergänzen.
 +
 +<code html>
 +<script type="text/javascript">
 +<!--
 +
 +SoSciTools.dynamicRows(2, ["TX03_01", "TX03_02", "TX03_03", "TX03_04", "TX03_05"]);
 +
 +// -->
 +</script>
 +</code>
 +
 +Bei mehr Eingabefeldern ist es eleganter, die Liste der HTML-IDs mit einer FOR-Schleife zu erstellen. Für eine offene Texteingabe TX04 mit 40 Items könnte der JavaScript-Code aussehen wie folgt.
 +
 +<code javascript>
 +// Liste der HTML-IDs erstellen
 +var items = [];
 +for (var i=1; i<=40; i++) {
 +  var itemID = new String(i);
 +  if (i < 10) {
 +    itemID = "0" + itemID;
 +  }
 +  items.push("OT03_" + itemID)
 +}
 +// Dynamische Anzeige der Items
 +SoSciTools.dynamicRows(2, items);
 </code> </code>
de/create/questions/text.txt · Zuletzt geändert: 10.09.2023 13:31 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