Conditions in questionnaires
conditional statements in webforms
Condiciones en los cuestionarios
declaraciones condicionales en formularios web
Las sentencias condicionales permiten mostrar secciones en un formulario cuando se cumplen ciertas condiciones. Por ejemplo, si desea cambiar el flujo del formulario según la respuesta del usuario.
Las sentencias condicionales funcionan con widgets de "sí/no", "opción múltiple" y "casilla de verificación". El widget que puede aparecer o desaparecer según las respuestas proporcionadas es un widget de "sección". Lea los pasos y vea un formulario de ejemplo a continuación.
Paso 1
En la configuración avanzada del widget, asigne un nombre a la variable. El nombre es una cadena fácil de recordar. No se permiten espacios. Ejemplos:


Si la pregunta "sí/no" es "¿es usted residente en el Reino Unido?", es posible que desee llamar al widget "UK_resident".

En una pregunta de opción múltiple "¿De qué país es usted?", las respuestas pueden ser "Reino Unido", "Polonia", "Alemania" u "Otro". El nombre de la variable puede ser "País".

En una pregunta con casillas de verificación "¿Qué productos le interesan?", las respuestas pueden ser "Informe anual", "IVA" o "Contabilidad". El nombre de la variable puede ser "Producto".
Paso 2
Añade secciones u otros widgets que aparezcan al dar una respuesta. Para preguntas sencillas de sí/no, puedes añadir preguntas que aparezcan cuando la respuesta sea "sí" y otras preguntas cuando sea "no".

Paso 3
Relacione las secciones con las respuestas correspondientes. Vaya a la configuración avanzada de cada sección. En el campo de declaración condicional (en la configuración avanzada), escriba la condición. La forma de escribir la condición depende del tipo de widget del que provenga la respuesta:


Para widgets de sí/no, la condición debe ser: variable_name==true o variable_name==false; por ejemplo, UK_resident==true. Tenga en cuenta que el doble signo igual indica igualdad.

Para los widgets de opción múltiple , una variable es un objeto con propiedades "texto" e "índice".
Por ejemplo: Country.text == "UK" o Country.index == 0
En referencia al ejemplo 2 anterior, si la condición es "El país elegido es Polonia", la condición sería Country.text=="Polonia". Si la condición es "Se eligió la tercera opción", la condición sería Country.index == 2 (sí, es correcto: el índice del primer elemento es 0, el del segundo es 1, etc.).

Para las casillas de verificación, debe enumerar las opciones que le interesan; consulte el ejemplo 3 anterior.
Si el nombre de la variable es Producto, la primera opción sería Producto[0], la segunda opción sería Producto[1] y así sucesivamente.
Si la condición es "Se eligió el IVA", la condición que escribiría sería Producto[1]==verdadero.
Si la condición es "Se eligió Informe anual O IVA", la condición sería "Cualquiera" para dos expresiones: Producto[0]==verdadero y Producto[1]==verdadero.
Si la condición es "Se eligió Informe anual Y IVA", la condición sería "Todos" para dos expresiones: Producto[0]==verdadero y Producto[1]==verdadero.

Para el widget de país, debe hacer referencia a una selección específica. Hay varias maneras de hacerlo. Las clasificamos a continuación según nuestra preferencia:
Si la variable es País y la condición debe ser "si se elige Estados Unidos", utilice una de estas opciones:
Country.name == "Estados Unidos de América"
País.alpha3code == "EE. UU."
País.alpha2code == "EE. UU."
Preferimos la primera opción porque, aunque requiere más escritura, se puede obtener fácilmente de la lista de países que muestra el widget.
Ejemplo de formulario:
Tenga en cuenta que las sentencias condicionales pueden funcionar con estructuras más complejas. Por ejemplo:
Las sentencias condicionales pueden hacer referencia a variables incrustadas en secciones. En este caso, asegúrese de agregar un nombre de variable a cada sección que contenga la variable de origen y de referenciar la ruta completa de la variable en la sentencia condicional (p. ej., SectionName.VariableName).
Las sentencias condicionales pueden referirse a variables incrustadas en otros formularios. En este caso, se aplica una regla similar a la anterior: es necesario asignar una variable al formulario y que este se encuentre en el espacio correcto. También deberá ajustar la fórmula.
Para casillas de verificación: en lugar de FormName.SectionName.QuestionName[1]==true, debe escribir FormName.SectionName.QuestionName.values[1]==true
Para opciones múltiples: en lugar de FormName.Section.Name.QuestionName.index==2 , debe escribir FormName.Section.Name.QuestionName.index=="el texto de la opción va aquí"
Combinando condiciones
Puede combinar fácilmente condiciones en declaraciones complejas utilizando el asistente.
Por ejemplo, si desea combinar dos condiciones, donde ambas deben ser verdaderas al mismo tiempo, elija la opción "Todas":

Este ejemplo dice "mostrar el widget actual cuando la persona reside en el Reino Unido y posee una vivienda".
Si, en cambio, desea que alguna de las condiciones sea verdadera, elija la opción "Cualquiera":

Este ejemplo dice "mostrar el widget actual cuando la persona reside en el Reino Unido o los EE. UU."
También puedes crear estructuras más complejas que estén incrustadas o agrupadas:

El ejemplo anterior dice "mostrar el widget actual cuando la persona es propietaria de una vivienda o tiene un alto patrimonio neto y reside en el Reino Unido o en los EE. UU.".