Überblick
Variablen in NueForm ermöglichen dir dynamische, personalisierte Formularerlebnisse. Du kannst Teilnehmerantworten, URL-Parameter und eigene Formularvariablen überall in deinen Fragetiteln, Beschreibungen, Willkommensbildschirmen und Dankesbildschirmen referenzieren — mit der Ersetzungssyntax {variableName}.
Variablentypen
NueForm unterstützt drei Variablentypen:
1. Antwortvariablen
Antwortvariablen erfassen die Antwort eines Teilnehmers auf eine bestimmte Frage und machen sie für spätere Fragen verfügbar.
So richtest du sie ein:
- Wähle eine Frage im Formular-Builder aus.
- Suche in den Frageeinstellungen das Feld Antwortvariable.
- Gib einen Variablennamen ein (z. B.
name,company,rating). - Die Antwort des Teilnehmers auf diese Frage wird nun als
{name},{company}oder{rating}gespeichert.
Beispiel:
- Frage 1: „Wie heißt du?" (Antwortvariable:
name) - Titel von Frage 2: „Schön, dich kennenzulernen, {name}! Was führt dich heute her?"
Wenn der Teilnehmer bei Frage 1 „Sarah" eingibt, zeigt Frage 2: „Schön, dich kennenzulernen, Sarah! Was führt dich heute her?"
Wertumwandlung:
| Antworttyp | Gespeichert als |
|---|---|
| Text (String) | Der Textwert direkt |
| Zahl | Der numerische Wert als String |
| Boolean (Ja/Nein) | "true" oder "false" |
| Array (Mehrfachauswahl) | Kommagetrennte Werte (z. B. "Option A, Option B") |
| Objekt (Kontaktinfo, Adresse) | JSON-String |
| Null/undefined | Leerer String |
Auswahlantworten
Bei einer Multiple-Choice-, Dropdown- oder anderen Auswahlfrage enthält die Variable die Beschriftung der gewählten Option, nicht ihre ID (mehrere werden wie oben durch Kommas getrennt). Bei einem übersetzten Formular steht die Beschriftung in der Sprache, in der der Teilnehmer das Formular ausfüllt – im NueForm-Stil ebenso wie im Fragebogen-Stil: Bietet die Frage Katze an und antwortet der Teilnehmer auf Englisch, enthält die Variable Cat. Um in einem Logiksprung oder einer Sichtbarkeitsbedingung auf eine Option zu reagieren, setze die Bedingung deshalb auf die Frage selbst (Welches Tier? ist Katze): Sie vergleicht die Option, egal in welcher Sprache. Eine Bedingung, die die Variable mit einer Beschriftung vergleicht (animal ist gleich Katze), greift nicht mehr, wenn jemand in einer anderen Sprache antwortet. Bei einer Liste aus einer Variable enthält die Variable die Beschriftung des Eintrags so, wie sie geladen wurde – sie wird nicht übersetzt.
2. URL-Variablen
URL-Variablen sind Werte, die über URL-Query-Parameter an das Formular übergeben werden. Sie sind sofort beim Laden des Formulars verfügbar, noch bevor Fragen beantwortet wurden.
So nutzt du sie:
Hänge Query-Parameter an deine Formular-URL an:
https://nueform.io/f/my-form?firstName=John&company=Acme&source=email
Du musst die URL nicht von Hand bearbeiten. Öffne das Teilen-Menü (aus deiner Formularliste, dem Formular-Builder oder dem Dashboard eines Formulars), klicke auf das Regler-Icon neben einer Option und füge Variablennamen und -werte hinzu. Starten, Link kopieren, Einbettungscode und QR-Code generieren den Link alle mit diesen Variablen — und sie werden pro Formular fürs nächste Mal gemerkt.
Diese Parameter sind automatisch als Variablen verfügbar:
{firstName}wird zu „John"{company}wird zu „Acme"{source}wird zu „email"
Anwendungsfälle:
- Formularfelder mit bekannten Daten vorbefüllen.
- Begrüßungen personalisieren: „Hi {firstName}, wir haben ein paar Fragen an dich."
- Empfehlungsquellen in deinen Antwortdaten nachverfolgen.
- Teilnehmer per Start-Logiksprüngen basierend auf URL-Parametern weiterleiten.
URL-Variablen können auch in Bedingungen von Logiksprüngen verwendet werden. Referenziere sie, indem du dem Variablennamen im Bedingungsfeld das Präfix url: voranstellst (z. B. url:source). URL-Variablen-Lookups unterstützen einen Fallback ohne Beachtung der Groß-/Kleinschreibung, sodass ?FirstName=John eine Bedingung auf url:firstname erfüllt.
3. Formularvariablen
Formularvariablen sind vordefinierte Variablen mit Name, Typ und Standardwert. Sie werden auf Formularebene definiert und können durch Variablenaktionen in Logiksprüngen verändert werden.
So definierst du sie:
Formularvariablen werden in den Variablendefinitionen des Formulars festgelegt und haben folgende Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| Name | Der Variablenname (z. B. score, category, is_qualified). |
| Typ | Entweder number oder string. |
| Standardwert | Der Anfangswert beim Laden des Formulars. |
So werden sie verändert:
Formularvariablen werden über Variablenaktionen an Logiksprüngen verändert. Wenn die Bedingung eines Logiksprungs zutrifft, werden die zugehörigen Variablenaktionen ausgeführt:
| Aktion | Beschreibung | Beispiel |
|---|---|---|
set | Ersetzt den Wert der Variable. | Setze category auf "premium" |
add | Addiert eine Zahl zur Variable. | Addiere 10 zu score |
subtract | Subtrahiert eine Zahl von der Variable. | Subtrahiere 5 von score |
Beispiel: Einen Punkterechner bauen
- Definiere eine Formularvariable:
score(Typ: number, Standard: 0). - Füge bei jeder Frage Logiksprünge mit Variablenaktionen hinzu:
- Wenn Bewertung >= 4, addiere 10 zu
score. - Wenn Bewertung >= 2, addiere 5 zu
score.
- Wenn Bewertung >= 4, addiere 10 zu
- Auf dem Dankesbildschirm: „Deine Punktzahl ist {score} von 50."
Ersetzungssyntax
Die {variableName}-Syntax funktioniert an folgenden Stellen:
| Stelle | Unterstützt |
|---|---|
| Fragetitel | Ja |
| Fragebeschreibungen | Ja |
| Titel des Willkommensbildschirms | Ja |
| Beschreibung des Willkommensbildschirms | Ja |
| Titel des Dankesbildschirms | Ja |
| Beschreibung des Dankesbildschirms | Ja |
| Formulartitel | Ja |
| Formularbeschreibung | Ja |
| Auswahloptions-Beschriftungen | Nein |
| Schaltflächentext | Nein |
| QR-Code-URL-Vorlagen | Ja |
So funktioniert die Ersetzung
- Das System durchsucht Text nach
{variableName}-Mustern (einfache geschweifte Klammern mit Wortzeichen darin). - Es schlägt den Variablennamen in der aktuellen Variablen-Map nach.
- Wird er gefunden, wird das Token durch den Wert der Variable ersetzt.
- Wird er nicht gefunden, wird das Token durch einen leeren String ersetzt.
Im Inhalt einer Frage vom Typ Markdown oder Vertrag – also im Markdown-Text bzw. im Vertragsdokument – werden HTML-Tags im Wert einer Variable (etwa aus einem URL-Parameter oder einer API-Antwort) nicht gerendert, sondern genau so angezeigt, wie sie geschrieben sind: <b>Hi</b> erscheint als <b>Hi</b>, nicht fett. Markdown in einem Wert, etwa **bold** oder [a link](https://example.com), wird dort weiterhin formatiert. Ausnahme ist Syntax, die <, > oder Anführungszeichen braucht, etwa ein Zitat mit > oder ein Linktitel in Anführungszeichen – auch sie wird so angezeigt, wie sie geschrieben ist. Titel und Beschreibung der Frage verhalten sich anders: Dort wird eine kurze Liste von Formatierungs-Tags aus einem Wert gerendert, etwa <strong>, <em>, <u>, <s>, <a href> und <span style>, jedes andere Tag wird entfernt (<b>Hi</b> erscheint als schlichtes „Hi“), und Markdown wird nicht formatiert.
Auch HTML, das du selbst in diesen Inhalt schreibst, ist eingeschränkt: Nur die Formatierungs-Tags, die ein Fragetitel erlaubt, bleiben erhalten. Siehe HTML in Markdown.
Variablennamen verwenden einfache geschweifte Klammern {name}. Verwechsle das nicht mit der Markdown-Inline-Feld-Syntax, die doppelte geschweifte Klammern {{type:label}} verwendet. Die beiden Syntaxen sind absichtlich unterschiedlich und kollidieren nicht.
Variablenerkennung
NueForm erkennt automatisch alle in deinem Formular referenzierten Variablen, indem es Folgendes durchsucht:
{variableName}-Tokens in allen Textfeldern (Titel, Beschreibungen, Willkommens-/Dankesbildschirme).- Felder mit
url:-Präfix in Bedingungen von Logiksprüngen. - Variablennamen in Aktionen von Logiksprüngen.
answerVariable-Deklarationen an Fragen.- Variablendefinitionen auf Formularebene.
Dieser umfassende Scan erzeugt eine sortierte, deduplizierte Liste aller in deinem Formular verwendeten Variablennamen.
Auflösungsreihenfolge der Variablen
Beim Auflösen eines {variableName}-Tokens prüft NueForm Variablen in dieser Reihenfolge:
- URL-Variablen — über die Formular-URL übergeben.
- Antwortvariablen — gesetzt durch die Antworten der Teilnehmer auf Fragen mit konfigurierter
answerVariable. - Formularvariablen — auf Formularebene definiert und durch Logiksprung-Aktionen verändert.
Existiert derselbe Variablenname in mehreren Quellen, haben URL-Variablen Vorrang (da sie die Quelle sind, die zusammen mit den eingemischten Formular-/Antwortvariablen an die Ersetzungsfunktion übergeben wird).
Datenknoten-Antworten als Optionslisten
Ein Datenknoten speichert die Antwort seiner API in der Variable, die in seiner Einstellung Antwort-Variable steht. Du kannst sie nicht nur in Texten verwenden, sondern auch zur Liste einer Auswahlfrage machen: Stelle bei einer Multiple-Choice-, Dropdown- oder Ranking-Frage die Quelle der Optionen — oder bei einer Matrix die Quelle der Zeilen oder die Quelle der Spalten — auf Aus einer Variable und gib die Variable ein:
{breeds}, wenn die Antwort selbst die Liste ist, etwa["Siamese", "Persian"].{breeds.data}, wenn die Liste in der Antwort steckt, etwa{"data": [...]}. Verwende Punkte für verschachtelte Schlüssel oder{breeds["the list"]}für einen Schlüssel, der kein einfaches Wort ist.
Die unterstützten Formate und die Zuordnung von Beschriftungs- und Wertfeld findest du unter Optionen aus einer Variable. Diese Quell-Einstellungen gibt es nur bei Fragen, die direkt im Formular stehen, nicht in einer Fragengruppe, einer Seite mit mehreren Fragen oder einem Composite.
Ein Datenknoten behält die ersten 4.096 Zeichen seiner Antwort. Eine Liste, deren JSON länger ist, kommt abgeschnitten an, und die Frage zeigt Diese Optionen konnten nicht geladen werden. statt der Optionen. Lass deine API weniger Einträge zurückgeben oder nur die Felder, die du brauchst.
Beispiele
Personalisierte Begrüßung
URL: https://nueform.io/f/feedback?name=Sarah&product=Widget
Willkommenstitel: „Hi {name}!" Willkommensbeschreibung: „Wir würden gerne deine Meinung zu {product} hören."
Ergebnis: „Hi Sarah!" / „Wir würden gerne deine Meinung zu Widget hören."
Dynamische Folgefragen
Frage 1: „Was ist deine Rolle?" (Antwortvariable: role) Frage 2: „Was ist als {role} deine größte Herausforderung?"
Anzeige einer berechneten Punktzahl
Formularvariable: score (number, Standard: 0) Logiksprung-Aktionen: Punkte basierend auf Antworten addieren Dankesbeschreibung: „Du hast {score} Punkte erreicht! Danke fürs Abschließen des Quiz."
Bedingte Weiterleitung mit URL-Variablen
URL: https://nueform.io/f/survey?plan=enterprise
Start-Logiksprung:
- Bedingung:
url:plangleich"enterprise" - Ziel: Sprung zu Enterprise-spezifischen Fragen
- Aktion: Setze
plan_nameauf"Enterprise"
Best Practices
- Verwende aussagekräftige Namen: Wähle Variablennamen, die klar erkennen lassen, was sie speichern (z. B.
customer_namestattn). - Setze Standardwerte: Gib bei Formularvariablen immer einen sinnvollen Standardwert an, falls die Variable nie verändert wird.
- Teste mit URL-Parametern: Wenn du URL-Variablen nutzt, teste dein Formular mit verschiedenen Parameterkombinationen, um sicherzustellen, dass alle Pfade korrekt funktionieren.
- Gehe elegant mit fehlenden Variablen um: Falls eine URL-Variable möglicherweise nicht übergeben wird, gestalte deinen Text so, dass er sich auch dann natürlich liest, wenn die Variable zu einem leeren String aufgelöst wird.