Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
de:create:inputs-custom [01.10.2011 17:43] – [Einschränkungen] admin | de:create:inputs-custom [24.09.2013 14:01] – Verwendung von JavaScript mit internen Variablen admin | ||
---|---|---|---|
Zeile 113: | Zeile 113: | ||
**Tipp:** Wenn Sie eine fertige Fragebogen-Seite im Browser ansehen, können Sie sich dort auch einfach den HTML-Quellcode anzeigen lassen. Den Quellcode für eine bestimmte Frage finden Sie ganz einfach, indem Sie nach der Frage-Kennung suchen. | **Tipp:** Wenn Sie eine fertige Fragebogen-Seite im Browser ansehen, können Sie sich dort auch einfach den HTML-Quellcode anzeigen lassen. Den Quellcode für eine bestimmte Frage finden Sie ganz einfach, indem Sie nach der Frage-Kennung suchen. | ||
+ | |||
+ | ===== Variante JavaScript ===== | ||
+ | |||
+ | Die oben skizzierte Lösung geht davon aus, dass der Wert aus einem benutzerdefinierten Eingabeelement (''< | ||
+ | |||
+ | Möglicherweise möchten Sie aber gar kein solches Eingabefeld anlegen, sondern einen Wert mittels JavaScript ermitteln und diesen in den Datensatz übertragen. In diesem Fall sind zwei Änderungen notwendig: | ||
+ | |||
+ | - Entfernen Sie das '' | ||
+ | - Ziehen Sie stattdessen die Frage vom Typ " | ||
+ | |||
+ | Falls Sie nur einige Variablen der Frage benötigen, legen Sie dies als //Items anzeigen// mit dem {{: | ||
+ | |||
+ | Wenn Sie die Frage in den Fragebogen einbinden, sehen Sie optisch keine Veränderung. Allerdings wird für jede interne Variable ein verstecktes Eingabefeld ('' | ||
+ | |||
+ | <code php> | ||
+ | // Frage vom Typ " | ||
+ | // nur Variablen 1 und 2 einbinden | ||
+ | question(' | ||
+ | </ | ||
+ | |||
+ | <code html> | ||
+ | <script type=" | ||
+ | <!-- | ||
+ | // Wert in Variable 1 speichern | ||
+ | document.getElementById(" | ||
+ | |||
+ | // Wert in Variable 2 um 10 erhöhen | ||
+ | var input2 = document.getElementById(" | ||
+ | var curVal = parseInt(Wert .value); | ||
+ | if (isNaN(curVal)) { | ||
+ | input2.value = 10; | ||
+ | } else { | ||
+ | input2.value = curVal + 10; | ||
+ | } | ||
+ | // --> | ||
+ | </ | ||
+ | </ | ||
===== Fazit ===== | ===== Fazit ===== | ||
Mit diesem Werkzeug erhält man sehr viel Freiheit bei der Gestaltung des Fragebogens -- der Aufwand zum Programmieren der Formularelemente kann allerdings schnell ausarten. Deshalb bietet oFb die meisten Fragen eben schon fertig an. | Mit diesem Werkzeug erhält man sehr viel Freiheit bei der Gestaltung des Fragebogens -- der Aufwand zum Programmieren der Formularelemente kann allerdings schnell ausarten. Deshalb bietet oFb die meisten Fragen eben schon fertig an. |