NueForm

逻辑跳转

使用条件逻辑跳转、复合条件、变量操作和起始逻辑跳转创建动态分支表单。

概述

逻辑跳转让您创建根据受访者答案自适应的动态表单。您可以跳过问题、跳转到不同的部分,或根据受访者的回答将其引导到特定的结束页面,而不是按顺序显示每个问题。

工作流编辑器
工作流编辑器显示逻辑跳转条件和目标。

逻辑跳转的工作原理

每个问题可以附加一个或多个逻辑跳转。受访者回答问题后,NueForm 会按顺序评估逻辑跳转。第一个条件评估为 true 的跳转决定受访者下一步去哪里。如果没有条件匹配,表单将按顺序前进到下一个问题。

基本流程

  1. 受访者回答一个问题。
  2. NueForm 按顺序检查该问题上的每个逻辑跳转。
  3. 第一个匹配跳转的目标决定下一个问题。
  4. 如果没有跳转匹配,受访者按顺序进入下一个问题。

条件

单一条件(旧版)

简单条件由三部分组成:

  • 字段:要评估的问题或变量。
  • 运算符:如何比较值。
  • :要比较的值(is_answered / is_not_answered 不需要)。

复合条件

复合条件允许您使用 AND/OR 逻辑组合多个规则:

  • 组合器and(所有规则必须匹配)或 or(任一规则匹配即可)。
  • 规则:单个条件规则的数组。

如果同一逻辑跳转上同时存在复合条件和旧版单一条件,复合条件优先。

运算符

NueForm 提供 10 个条件运算符。可用的运算符取决于被评估的问题类型。

所有运算符

运算符符号描述
equals=答案与值完全相等。
not_equals!=答案与值不相等。
contains包含答案包含该值(文本)或包括该值(数组)。
not_contains不包含答案不包含该值。
greater_than>数值答案大于该值。
less_than<数值答案小于该值。
greater_than_or_equals>=数值答案大于或等于该值。
less_than_or_equals<=数值答案小于或等于该值。
is_answered已回答问题已被回答(任何非空值)。
is_not_answered未回答问题未被回答。

按问题类型划分的运算符

问题类型可用运算符
短文本、长文本、电子邮件、电话、URL/网站equals、not_equals、contains、not_contains、is_answered、is_not_answered
数字、评分、意见量表、NPSequals、not_equals、greater_than、less_than、greater_than_or_equals、less_than_or_equals、is_answered、is_not_answered
多选题、下拉菜单、图片选择题、排序equals、not_equals、is_answered、is_not_answered
是/否、法律条款equals、not_equals、is_answered、is_not_answered
日期equals、not_equals、is_answered、is_not_answered
URL 变量所有运算符(equals、not_equals、contains、not_contains、greater_than、less_than、greater_than_or_equals、less_than_or_equals、is_answered、is_not_answered)
所有其他类型equals、not_equals、is_answered、is_not_answered

类型转换

NueForm 自动处理类型不匹配:

  • 使用 equals 运算符时,字符串 "3" 等于数字 3
  • 布尔值 true 匹配字符串 "true"
  • 对于多选答案(数组),contains 检查所选项中是否有任何项匹配。
  • 对于数组答案,equals 检查该值是否在所选项中。

目标

每个逻辑跳转指定一个目标——条件匹配时受访者应去往何处。

目标描述
问题 ID按 ID 跳转到特定问题。问题可以在表单中的任何位置,包括之前的问题(创建循环)。
end直接跳到表单末尾(感谢页面或提交)。

变量操作

逻辑跳转可以包含变量操作,在跳转条件匹配时修改表单变量。这使您无需测验模式即可构建计算器、评分系统和动态内容。

操作类型

操作描述
set将变量设置为特定值。
add将数值加到变量上。
subtract从变量中减去数值。

变量操作的工作原理

  1. 逻辑跳转条件评估为 true
  2. 在导航到目标之前,NueForm 执行该跳转上的所有变量操作。
  3. 变量值在表单的变量状态中更新。
  4. 后续问题可以使用 {variableName} 语法引用这些变量。

示例:累计分数

text
问题:"您有多满意?"(评分 1-5)
逻辑跳转 1:评分 >= 4 -> 下一个问题,操作:向 "score" 加 10
逻辑跳转 2:评分 >= 2 -> 下一个问题,操作:向 "score" 加 5
逻辑跳转 3:(默认)-> 下一个问题,操作:向 "score" 加 0

有关定义和使用变量的更多信息,请参阅变量指南。

标签

每个逻辑跳转可以有一个可选的标签用于文档说明。标签显示在可视化工作流编辑器中,帮助您一目了然地理解逻辑流程。

起始逻辑跳转

起始逻辑跳转在受访者看到任何问题之前评估。它们在表单加载时立即运行,可以使用 URL 变量来确定起始问题。

用例

  • 根据 URL 参数将受访者路由到不同的部分(例如,?department=sales 跳转到销售相关问题)。
  • 在表单开始之前根据 URL 参数预设变量。
  • 为特定受众跳过欢迎页面。

配置

起始逻辑跳转在表单级别配置(而非在个别问题上)。它们遵循与问题级逻辑跳转相同的条件/目标/操作结构,但其条件字段只能引用 URL 变量(以 url: 为前缀)。

示例:按部门路由

text
起始逻辑跳转:
  条件:url:department equals "sales"
  目标:question_sales_intro
  操作:将 "department" 设置为 "Sales"

URL 变量条件

在问题级和起始逻辑跳转中,您可以将 URL 参数作为条件字段引用。URL 变量字段以 url: 为前缀:

  • 字段:url:firstName 评估 URL 参数 ?firstName=...
  • 字段:url:source 评估 URL 参数 ?source=...

URL 变量查找支持不区分大小写的回退。如果找不到精确的键,NueForm 将尝试不区分大小写的匹配。

工作流编辑器

NueForm 包含一个可视化工作流编辑器,将表单的逻辑显示为流程图。每个问题是一个节点,逻辑跳转显示为连接节点的边。工作流编辑器显示:

  • 所有问题按顺序排列为节点。
  • 逻辑跳转连接显示为节点之间的箭头。
  • 每条边上的条件摘要(例如"评分 > 3")。
  • 目标标签(问题标题或"结束")。

工作流编辑器是逻辑跳转的可视化表示。您可以直接从编辑器或问题的设置面板中添加、编辑和删除逻辑跳转。

分组中的逻辑跳转评估

当问题位于问题分组内时,子问题上的逻辑跳转工作方式略有不同:

  • 如果目标是同一分组内的另一个子问题,导航在分组内部进行。
  • 如果目标是分组外的问题,分组退出,表单导航到顶层的目标问题。
  • 如果目标是 end,表单跳到提交。

最佳实践

  1. 顺序很重要:逻辑跳转从上到下评估。将更具体的条件放在更通用的条件之前。
  2. 始终设置回退:如果没有条件匹配,表单将前进到下一个问题。如果您想要明确控制,请在末尾添加一个兜底跳转。
  3. 彻底测试:使用预览功能测试通过表单的不同答案路径。
  4. 使用标签:为逻辑跳转添加描述性标签,使工作流编辑器易于理解。
  5. 保持简单:复杂的嵌套逻辑可能令人困惑。考虑使用问题分组来组织相关问题及其内部逻辑。
最后更新:2026年4月6日