Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:create:questions:text [18.08.2019 17:40] – admin | de:create:questions:text [15.08.2025 16:00] (aktuell) – service | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| Die Texteingabe-Fragen unterstützen unterschiedliche Anwendungsfälle: | Die Texteingabe-Fragen unterstützen unterschiedliche Anwendungsfälle: | ||
| - | * Die " | + | === Offene Texteingabe === |
| + | |||
| + | Die " | ||
| * Jedes Textfeld kann eine Beschriftung (davor und dahinter) haben. | * Jedes Textfeld kann eine Beschriftung (davor und dahinter) haben. | ||
| * Die Textfelder können ein- oder mehrzeilig ausgelegt werden -- es sind also auch große Eingabefelder für längere Texte möglich, spezifizieren Sie dafür eine Höhe für das Eingabefeld. | * Die Textfelder können ein- oder mehrzeilig ausgelegt werden -- es sind also auch große Eingabefelder für längere Texte möglich, spezifizieren Sie dafür eine Höhe für das Eingabefeld. | ||
| Zeile 9: | Zeile 11: | ||
| * In der Frage oder für einzelne Eingabefelder können Ausweichoptionen (" | * In der Frage oder für einzelne Eingabefelder können Ausweichoptionen (" | ||
| * Sie können festlegen, dass -- wenn Sie in den Eingabefeldern Zahlenwerte erwarten (z.B. Punkte) -- die Summe aller Eingabefelder einen konstanten Wert ergeben muss, bevor der Teilnehmer fortfahren kann. So können Sie den Teilnehmer z.B. 100% auf 5 Kategorien verteilen lassen. | * Sie können festlegen, dass -- wenn Sie in den Eingabefeldern Zahlenwerte erwarten (z.B. Punkte) -- die Summe aller Eingabefelder einen konstanten Wert ergeben muss, bevor der Teilnehmer fortfahren kann. So können Sie den Teilnehmer z.B. 100% auf 5 Kategorien verteilen lassen. | ||
| - | * " | + | |
| + | === Offene Nennungen === | ||
| + | |||
| + | " | ||
| * Gegenüber einem mehrzeiligen Eingabefeld haben sie den Vorteil, dass jede Zeile in eine eigene Variable gespeichert wird -- außerdem wird die Anzahl der Angaben in einer gesonderten Variable ausgewiesen. | * Gegenüber einem mehrzeiligen Eingabefeld haben sie den Vorteil, dass jede Zeile in eine eigene Variable gespeichert wird -- außerdem wird die Anzahl der Angaben in einer gesonderten Variable ausgewiesen. | ||
| * Standardmäßig zeigen die offenen Nennungen zunächst nur 2 Zeilen zur Texteingabe. Trägt der Teilnehmer in eine der Zeilen etwas ein, erscheinen sukzessive weitere Zeilen. | * Standardmäßig zeigen die offenen Nennungen zunächst nur 2 Zeilen zur Texteingabe. Trägt der Teilnehmer in eine der Zeilen etwas ein, erscheinen sukzessive weitere Zeilen. | ||
| - | * Der " | + | |
| - | | + | === Lückentext === |
| - | | + | |
| + | Der " | ||
| + | |||
| + | === Texteingabe mit Auswahlempfehlung === | ||
| + | |||
| + | Die [[:: | ||
| + | |||
| + | === Ballontest === | ||
| + | |||
| + | Beim " | ||
| + | |||
| + | |||
| + | ===== Breite und Höhen von Texteingabefeldern ===== | ||
| + | |||
| + | Sie können für die //Breite// von Texteingabefeldern wie folgt festlegen: | ||
| + | |||
| + | * Keine Angabe bedeutet ... | ||
| + | * ... beim Lückentext, | ||
| + | * ... beim der offenen Texteingabe, | ||
| + | * Eine Angabe von 1 bis 15 definiert die Anzahl an Zeichen, die im Eingabefeld Platz finden sollen. Diese Breite variiert mit der Größe der verwendeten Schriftart. | ||
| + | * Eine Angabe von 16 oder mehr (Standard: 200) definiert die Breite in Pixeln, welche für das Eingabefeld verwendet werden soll. Diese Breite ist unabhängig von Schriftgröße und Layout. | ||
| + | |||
| + | Bei der offenen Texteingabe und bei [[: | ||
| + | |||
| + | * Wenn Sie keine Höhe eintragen, wird ein einzeiliges Eingabefeld erzeugt. Wenn der Text größer als das Eingabefeld ist, bewegt sich der Text nach links. | ||
| + | * Wenn Sie eine Höhe eintragen, dann wird __immer__ ein mehrzeiliges Eingabefeld erzeugt. Wenn mehr Text eingetragen wird als das Eingabefeld breit ist, dann bricht der Text in die nächste Zeile um. | ||
| + | * Wenn Sie zusätzlich die Option //Höhe automatisch anpassen// aktivieren, dann wird das Eingabefeld größer, wenn die Höhe für den Text nicht ausreicht. | ||
| + | |||
| + | **Wichtig: | ||
| Zeile 62: | Zeile 95: | ||
| <code php> | <code php> | ||
| - | option(' | + | library(' |
| </ | </ | ||
| Zeile 89: | Zeile 122: | ||
| Sie können detailliert festlegen, welche Formatierungen der Editor bereitstellt. Dafür wird v.a. die Zeile '' | Sie können detailliert festlegen, welche Formatierungen der Editor bereitstellt. Dafür wird v.a. die Zeile '' | ||
| + | |||
| + | |||
| + | ==== Texteingabe formatieren ==== | ||
| + | |||
| + | Die JavaScript-Bibliothek bietet mit der Klasse '' | ||
| + | |||
| + | * Text in Großbuchstaben umwandeln | ||
| + | * Text in Buchstabengruppen sortieren, z.B. '' | ||
| + | |||
| + | Der folgende JavaScript-Code kombiniert mehrere Funktionen, um die Eingabe in dem Eingabefeld mit der Kennung " | ||
| + | |||
| + | <code javascript> | ||
| + | < | ||
| + | function formatter(s) { | ||
| + | return SoSciTools.TextFormat.dash3( | ||
| + | SoSciTools.TextFormat.uppercase( | ||
| + | SoSciTools.TextFormat.alphanum(s) | ||
| + | ) | ||
| + | ); | ||
| + | } | ||
| + | |||
| + | window.addEventListener(" | ||
| + | new SoSciTools.TextFormat(" | ||
| + | }); | ||
| + | </ | ||
| + | </ | ||
| Zeile 211: | Zeile 270: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ==== Zeilen nacheinander einblenden ==== | ||
| + | |||
| + | Beim Fragetyp [[: | ||
| + | |||
| + | Dafür wird die JavaScript-Funktion '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Wenn man etwa die offene Texteingabe " | ||
| + | |||
| + | |||
| + | <code javascript> | ||
| + | SoSciTools.dynamicRows(2, | ||
| + | </ | ||
| + | |||
| + | Möchte man dies als HTML-Code in den Fragebogen einbinden, sind natürlich die ''< | ||
| + | |||
| + | <code html> | ||
| + | <script type=" | ||
| + | <!-- | ||
| + | |||
| + | SoSciTools.dynamicRows(2, | ||
| + | |||
| + | // --> | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 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 = " | ||
| + | } | ||
| + | items.push(" | ||
| + | } | ||
| + | |||
| + | // Dynamische Anzeige der Items | ||
| + | SoSciTools.dynamicRows(2, | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||