Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
de:create:functions:replace [12.12.2014 09:23] – admin | de:create:functions:replace [20.08.2018 08:01] (aktuell) – Hinweise admin |
---|
* '''html''' -- Der //Inhalt// soll als HTML-Code interpretiert werden, HTML-Sonderzeichen (wie ''<'' oder ''>'') werden unmaskiert in den Quellcode des Fragebogens übernommen. | * '''html''' -- Der //Inhalt// soll als HTML-Code interpretiert werden, HTML-Sonderzeichen (wie ''<'' oder ''>'') werden unmaskiert in den Quellcode des Fragebogens übernommen. |
* '''response''' -- Als //Inhalt// ist eine Variablen-Kennung angegeben, der Platzhalter soll durch die Antwort des Teilnehmers auf diese Variable ersetzt werden. Die Antwort wird äquivalent zu ''[[:de:create:functions:value|value(..., 'text')]]'' ermittelt.\\ **Wichtig:** Der Teilnehmer muss die Antwort zunächst via "Weiter" an den Server übermitteln, bevor diese mittels PHP-Code abgerufen werden kann. ''replace(..., 'response')'' darf daher nicht auf derselben Seite verwendet werden wie die Frage, sondern frühestens auf der darauf folgenden Seite. | * '''response''' -- Als //Inhalt// ist eine Variablen-Kennung angegeben, der Platzhalter soll durch die Antwort des Teilnehmers auf diese Variable ersetzt werden. Die Antwort wird äquivalent zu ''[[:de:create:functions:value|value(..., 'text')]]'' ermittelt.\\ **Wichtig:** Der Teilnehmer muss die Antwort zunächst via "Weiter" an den Server übermitteln, bevor diese mittels PHP-Code abgerufen werden kann. ''replace(..., 'response')'' darf daher nicht auf derselben Seite verwendet werden wie die Frage, sondern frühestens auf der darauf folgenden Seite. |
| * '''special''' -- Geben Sie eine der folgenden Kennungen als //Inhalt// an, um dynamische Inhalte für den Platzhalter zu verwenden: |
| * '''qn-''' -- Die letzte als Frage-Nummer angezeigte Nummer (z.B. um sich bei dynamischer Nummerierung im Text auf die letzte Frage zu beziehen). |
| * '''qn+''' -- Eine neue Frage-Nummer erstellen (z.B. um [[:de:create:inputs-custom|eigene Formularelemente]] mit einer Nummer zu versehen). |
| |
| |
| ===== Hinweise ===== |
| |
| **Wichtig:** ''replace()'' muss vor/über dem Element stehen, wo der Platzhalter ersetzt werden soll. Wenn der Platzhalter ''%test%'' also z.B. im Textbaustein "instruction" verwendet wird, dann muss im Fragebogen zuerst der Befehl ''replace('%test%', ...)'' aufgerufen werden und danach/darunter erst der Textbaustein. ''replace()'' kann entweder auf der gleichen Seite über dem Textbaustein stehen oder auf einer früheren Seite im Fragebogen. |
| |
| **Hinweis:** Damit der Befehl ''replace()'' auf eine Antwort des Teilnehmers zugreifen kann (dritter Parameter '''response'''), ist es erforderlich, dass der Teilnehmer "Weiter" klickt, __bevor__ ''replace()'' ausgeführt wird. Wie auch bei der Funktion ''[[:de:create:functions:value]]'' darf ''replace(..., 'AB01', 'response')'' also nicht auf der gleichen Seite stehen wie die Frage AB01. |
| |
| |
===== Beispiele ===== | ===== Beispiele ===== |
// %antwort% durch die Antwort des Teilnehmers in der einfachen Auswahlfrage AB02 ersetzen | // %antwort% durch die Antwort des Teilnehmers in der einfachen Auswahlfrage AB02 ersetzen |
replace('%antwort%', 'AB02', 'response'); | replace('%antwort%', 'AB02', 'response'); |
| |
| // %nummer% durch eine neue Frage-Nummer ersetzen |
| replace('%nummer%', 'qn+', 'special'); |
| html('<div class="title">%nummer%. Bitte wählen Sie hier ...</div>'); |
</code> | </code> |