Resumen
Las variables en NueForm te permiten crear experiencias de formularios dinámicas y personalizadas. Puedes referenciar respuestas de encuestados, parámetros de URL y variables de formulario personalizadas en cualquier lugar de los títulos de tus preguntas, descripciones, pantallas de bienvenida y pantallas de agradecimiento usando la sintaxis de sustitución {variableName}.
Tipos de Variables
NueForm soporta tres tipos de variables:
1. Variables de Respuesta
Las variables de respuesta capturan la respuesta de un encuestado a una pregunta específica y la hacen disponible para uso en preguntas posteriores.
Cómo configurar:
- Selecciona una pregunta en el constructor de formularios.
- En los ajustes de la pregunta, encuentra el campo Answer Variable.
- Ingresa un nombre de variable (por ejemplo,
name,company,rating). - La respuesta del encuestado a esa pregunta ahora se almacena como
{name},{company}o{rating}.
Ejemplo:
- Pregunta 1: "¿Cuál es tu nombre?" (Answer Variable:
name) - Título de Pregunta 2: "¡Encantado de conocerte, {name}! ¿Qué te trae aquí hoy?"
Cuando el encuestado escribe "Sarah" en la Pregunta 1, la Pregunta 2 mostrará: "¡Encantado de conocerte, Sarah! ¿Qué te trae aquí hoy?"
Conversión de valores:
| Tipo de Respuesta | Se Almacena Como |
|---|---|
| Texto (string) | El valor de texto directamente |
| Número | El valor numérico como string |
| Booleano (Sí/No) | "true" o "false" |
| Array (selección múltiple) | Valores separados por comas (por ejemplo, "Opción A, Opción B") |
| Objeto (info de contacto, dirección) | String JSON |
| Null/undefined | String vacío |
Respuestas de opción
En una pregunta de Opción múltiple, Desplegable u otra pregunta de opciones, la variable guarda la etiqueta de la opción elegida, no su ID (si son varias, separadas por comas, como arriba). En un formulario traducido, la etiqueta está en el idioma en que el encuestado completa el formulario, tanto en el estilo NueForm como en el estilo Cuestionario: si la pregunta ofrece Gato y el encuestado responde en inglés, la variable guarda Cat. Por eso, para actuar sobre una opción en un salto lógico o en una condición de visibilidad, pon la condición en la propia pregunta (¿Qué animal? es Gato): compara la opción, sea cual sea el idioma. Una condición que compara la variable con una etiqueta (animal es igual a Gato) deja de cumplirse para quien responde en otro idioma. En una lista cargada desde una variable, la variable guarda la etiqueta del elemento tal como se cargó: no se traduce.
2. Variables de URL
Las variables de URL son valores pasados al formulario a través de parámetros de consulta de URL. Están disponibles inmediatamente cuando el formulario se carga, antes de que se responda cualquier pregunta.
Cómo usar:
Agrega parámetros de consulta a la URL de tu formulario:
https://nueform.io/f/my-form?firstName=John&company=Acme&source=email
Estos parámetros están disponibles automáticamente como variables:
{firstName}se resuelve a "John"{company}se resuelve a "Acme"{source}se resuelve a "email"
Casos de uso:
- Prellenar campos de formulario con datos conocidos.
- Personalizar saludos: "Hola {firstName}, tenemos algunas preguntas para ti."
- Rastrear fuentes de referencia en tus datos de respuesta.
- Enrutar encuestados usando saltos lógicos de inicio basados en parámetros de URL.
Las variables de URL también se pueden usar en condiciones de saltos lógicos. Referéncialas prefijando el nombre de la variable con url: en el campo de condición (por ejemplo, url:source). Las búsquedas de variables de URL soportan respaldo insensible a mayúsculas, por lo que ?FirstName=John coincidirá con una condición en url:firstname.
3. Variables de Formulario
Las variables de formulario son variables predefinidas con un nombre, tipo y valor predeterminado. Se definen a nivel de formulario y pueden ser modificadas por acciones de variable en saltos lógicos.
Cómo definir:
Las variables de formulario se definen en las definiciones de variables del formulario y tienen las siguientes propiedades:
| Propiedad | Descripción |
|---|---|
| Nombre | El nombre de la variable (por ejemplo, score, category, is_qualified). |
| Tipo | Ya sea number o string. |
| Valor Predeterminado | El valor inicial cuando el formulario se carga. |
Cómo se modifican:
Las variables de formulario se modifican a través de acciones de variable en saltos lógicos. Cuando la condición de un salto lógico coincide, sus acciones de variable asociadas se ejecutan:
| Acción | Descripción | Ejemplo |
|---|---|---|
set | Reemplazar el valor de la variable. | Establecer category a "premium" |
add | Sumar un número a la variable. | Sumar 10 a score |
subtract | Restar un número de la variable. | Restar 5 de score |
Ejemplo: Construir una calculadora de puntuación
- Define una variable de formulario:
score(tipo: number, predeterminado: 0). - En cada pregunta, agrega saltos lógicos con acciones de variable:
- Si Rating >= 4, sumar 10 a
score. - Si Rating >= 2, sumar 5 a
score.
- Si Rating >= 4, sumar 10 a
- En la pantalla de agradecimiento: "Tu puntuación es {score} de 50."
Sintaxis de Sustitución
La sintaxis {variableName} funciona en las siguientes ubicaciones:
| Ubicación | Soportado |
|---|---|
| Títulos de preguntas | Sí |
| Descripciones de preguntas | Sí |
| Título de pantalla de bienvenida | Sí |
| Descripción de pantalla de bienvenida | Sí |
| Título de pantalla de agradecimiento | Sí |
| Descripción de pantalla de agradecimiento | Sí |
| Título del formulario | Sí |
| Descripción del formulario | Sí |
| Etiquetas de opciones | No |
| Texto de botones | No |
| Plantillas de URL de código QR | Sí |
Cómo Funciona la Sustitución
- El sistema escanea el texto buscando patrones
{variableName}(llaves simples con caracteres de palabra dentro). - Busca el nombre de la variable en el mapa de variables actual.
- Si se encuentra, el token se reemplaza con el valor de la variable.
- Si no se encuentra, el token se reemplaza con un string vacío.
En el contenido de una pregunta de tipo Markdown o Contrato —el cuerpo Markdown o el documento del contrato—, las etiquetas HTML del valor de una variable (por ejemplo, de un parámetro de URL o de la respuesta de una API) no se renderizan: se muestran tal como están escritas, así que <b>Hi</b> aparece como <b>Hi</b>, no en negrita. El Markdown de un valor, como **bold** o [a link](https://example.com), sí se aplica ahí. La excepción es la sintaxis que necesita <, > o comillas, como una cita con > o el título de un enlace entre comillas: también se muestra tal como está escrita. El título y la descripción de la pregunta funcionan de otra manera: ahí se renderiza una lista corta de etiquetas de formato del valor, como <strong>, <em>, <u>, <s>, <a href> y <span style>, cualquier otra etiqueta se elimina (<b>Hi</b> se muestra como «Hi», sin formato) y el Markdown no se aplica.
El HTML que escribas tú mismo en ese contenido también está limitado: solo se conservan las etiquetas de formato que permite el título de una pregunta. Consulta HTML en Markdown.
Los nombres de variables usan llaves simples {name}. No confundas esto con la sintaxis de campo en línea de Markdown, que usa llaves dobles {{type:label}}. Las dos sintaxis son intencionalmente diferentes y no entran en conflicto.
Detección de Variables
NueForm detecta automáticamente todas las variables referenciadas en tu formulario escaneando:
- Tokens
{variableName}en todos los campos de texto (títulos, descripciones, pantallas de bienvenida/agradecimiento). - Campos con prefijo
url:en condiciones de saltos lógicos. - Nombres de variables en acciones de saltos lógicos.
- Declaraciones
answerVariableen preguntas. - Definiciones de variables a nivel de formulario.
Este escaneo exhaustivo produce una lista ordenada y deduplicada de todos los nombres de variables usados en tu formulario.
Orden de Resolución de Variables
Al resolver un token {variableName}, NueForm verifica las variables en este orden:
- Variables de URL -- pasadas a través de la URL del formulario.
- Variables de respuesta -- establecidas por las respuestas del encuestado a preguntas con
answerVariableconfigurado. - Variables de formulario -- definidas a nivel de formulario y modificadas por acciones de saltos lógicos.
Si el mismo nombre de variable existe en múltiples fuentes, las variables de URL tienen precedencia (ya que son la fuente pasada a la función de sustitución junto con las variables de formulario/respuesta combinadas).
Respuestas de nodos de datos como listas de opciones
Un nodo de datos guarda la respuesta de su API en la variable indicada en su ajuste Variable de respuesta. Además de usarla en textos, puedes convertirla en la lista de una pregunta de opciones: establece el Origen de las opciones de una pregunta de Opción Múltiple, Desplegable o Clasificación —o el Origen de las filas o el Origen de las columnas de una Matriz— en Desde una variable, y escribe la variable:
{breeds}cuando la respuesta en sí es la lista, como["Siamese", "Persian"].{breeds.data}cuando la lista está dentro de la respuesta, como{"data": [...]}. Usa puntos para las claves anidadas, o{breeds["the list"]}para una clave que no es una palabra simple.
Consulta Opciones desde una variable para ver los formatos aceptados y la asignación de los campos de etiqueta y valor. Estos ajustes de origen solo se ofrecen en las preguntas colocadas directamente en el formulario, no dentro de un Grupo de preguntas, una Página de múltiples preguntas o un compuesto.
Un nodo de datos conserva los primeros 4096 caracteres de su respuesta. Una lista cuyo JSON es más largo llega cortada, y la pregunta muestra No se pudieron cargar estas opciones. en lugar de las opciones. Haz que tu API devuelva menos elementos, o solo los campos que necesitas.
Ejemplos
Bienvenida Personalizada
URL: https://nueform.io/f/feedback?name=Sarah&product=Widget
Título de Bienvenida: "¡Hola {name}!" Descripción de Bienvenida: "Nos encantaría escuchar tus opiniones sobre {product}."
Resultado: "¡Hola Sarah!" / "Nos encantaría escuchar tus opiniones sobre Widget."
Preguntas de Seguimiento Dinámicas
Pregunta 1: "¿Cuál es tu rol?" (Answer Variable: role) Pregunta 2: "Como {role}, ¿cuál es tu mayor desafío?"
Visualización de Puntuación Calculada
Variable de Formulario: score (number, predeterminado: 0) Acciones de Salto Lógico: Sumar puntos basados en respuestas Descripción de Agradecimiento: "¡Obtuviste {score} puntos! Gracias por completar el cuestionario."
Enrutamiento Condicional con Variables de URL
URL: https://nueform.io/f/survey?plan=enterprise
Salto Lógico de Inicio:
- Condición:
url:planes igual a"enterprise" - Destino: Saltar a preguntas específicas de enterprise
- Acción: Establecer
plan_namea"Enterprise"
Mejores Prácticas
- Usa nombres descriptivos: Elige nombres de variables que indiquen claramente lo que almacenan (por ejemplo,
customer_nameen lugar den). - Establece valores predeterminados: Para variables de formulario, siempre proporciona un valor predeterminado significativo en caso de que la variable nunca se modifique.
- Prueba con parámetros de URL: Cuando uses variables de URL, prueba tu formulario con varias combinaciones de parámetros para asegurar que todas las rutas funcionen correctamente.
- Maneja variables faltantes con elegancia: Si una variable de URL podría no proporcionarse, diseña tu texto para que se lea de forma natural incluso cuando la variable se resuelve a un string vacío.