NueForm

变量

使用答案变量、URL 变量和表单变量创建动态、个性化的表单,实现实时文本替换。

概述

NueForm 中的变量让您创建动态、个性化的表单体验。您可以在问题标题、描述、欢迎页面和感谢页面中使用 {variableName} 替换语法引用受访者答案、URL 参数和自定义表单变量。

变量类型

NueForm 支持三种类型的变量:

1. 答案变量

答案变量捕获受访者对特定问题的回答,并使其可在后续问题中使用。

如何设置:

  1. 在表单构建器中选择一个问题。
  2. 在问题设置中找到答案变量字段。
  3. 输入变量名称(例如 name、company、rating)。
  4. 该问题的受访者答案现在存储为 {name}、{company} 或 {rating}。

示例:

  • 问题 1:"您的名字是什么?"(答案变量:name)
  • 问题 2 标题:"很高兴认识您,{name}!今天是什么让您来到这里?"

当受访者在问题 1 中输入"Sarah"时,问题 2 将显示:"很高兴认识您,Sarah!今天是什么让您来到这里?"

值转换:

答案类型存储为
文本(字符串)直接使用文本值
数字数值转为字符串
布尔值(是/否)"true" 或 "false"
数组(多选)逗号分隔的值(例如 "选项 A, 选项 B")
对象(联系信息、地址)JSON 字符串
Null/undefined空字符串

选择题答案

对于多选、下拉菜单或其他选择题,变量保存的是所选选项的标签,而不是选项的 ID(多个选项用逗号分隔,如上表所示)。在已翻译的表单中,无论是 NueForm 样式还是问卷样式,标签都使用受访者填写表单时所用的语言:如果问题提供的选项是 猫,而受访者用英语作答,变量保存的就是 Cat。因此,要在逻辑跳转或可见性条件中针对某个选项,请把条件设在问题本身上(哪种动物? 为 猫):它比较的是选项本身,与语言无关。将变量与某个标签进行比较的条件(animal 等于 猫)在受访者用其他语言作答时将不再匹配。对于从变量加载的列表,变量保存的是条目加载时的标签,不会被翻译。

2. URL 变量

URL 变量是通过 URL 查询参数传递给表单的值。它们在表单加载时立即可用,在任何问题被回答之前。

如何使用:

在表单 URL 后附加查询参数:

text
https://nueform.io/f/my-form?firstName=John&company=Acme&source=email

这些参数自动作为变量可用:

  • {firstName} 解析为 "John"
  • {company} 解析为 "Acme"
  • {source} 解析为 "email"

用例:

  • 使用已知数据预填表单字段。
  • 个性化问候:"嗨 {firstName},我们有一些问题想问您。"
  • 在回复数据中跟踪来源。
  • 使用基于 URL 参数的起始逻辑跳转路由受访者。

URL 变量也可用于逻辑跳转条件。在条件字段中使用 url: 前缀引用变量名(例如 url:source)。URL 变量查找支持不区分大小写的回退,因此 ?FirstName=John 将匹配 url:firstname 上的条件。

3. 表单变量

表单变量是具有名称、类型和默认值的预定义变量。它们在表单级别定义,可以通过逻辑跳转中的变量操作进行修改。

如何定义:

表单变量在表单的变量定义中定义,具有以下属性:

属性描述
名称变量名称(例如 score、category、is_qualified)。
类型number 或 string。
默认值表单加载时的初始值。

如何修改:

表单变量通过逻辑跳转上的变量操作修改。当逻辑跳转的条件匹配时,其关联的变量操作会执行:

操作描述示例
set替换变量的值。将 category 设为 "premium"
add向变量添加数值。向 score 加 10
subtract从变量减去数值。从 score 减 5

示例:构建分数计算器

  1. 定义表单变量:score(类型:number,默认值:0)。
  2. 在每个问题上添加带有变量操作的逻辑跳转:
    • 如果评分 >= 4,向 score 加 10。
    • 如果评分 >= 2,向 score 加 5。
  3. 在感谢页面上:"您的分数是 {score}(满分 50)。"

替换语法

{variableName} 语法在以下位置有效:

位置支持
问题标题是
问题描述是
欢迎页面标题是
欢迎页面描述是
感谢页面标题是
感谢页面描述是
表单标题是
表单描述是
选项标签否
按钮文本否
二维码 URL 模板是

替换工作原理

  1. 系统扫描文本中的 {variableName} 模式(单花括号内包含字符)。
  2. 在当前变量映射中查找变量名称。
  3. 如果找到,标记将被替换为变量的值。
  4. 如果未找到,标记将被替换为空字符串。

在 Markdown 或 合同 问题的内容(即 Markdown 正文或合同文档)中,变量值里的 HTML 标签(例如来自 URL 参数或 API 响应)不会被渲染,而是按原样显示:<b>Hi</b> 显示为 <b>Hi</b>,而不是粗体。值中的 Markdown(例如 **bold** 或 [a link](https://example.com))在这里仍会生效。例外是需要 <、> 或引号的语法,例如以 > 开头的引用块或带引号的链接标题:它们同样按原样显示。问题的标题和描述则不同:值中的一小部分格式标签(例如 <strong>、<em>、<u>、<s>、<a href> 和 <span style>)会被渲染,其他标签都会被移除(<b>Hi</b> 显示为不带格式的“Hi”),Markdown 也不会生效。

您自己在这些内容中输入的 HTML 同样受到限制:只保留问题标题允许的格式标签。请参阅 Markdown 中的 HTML。

变量名称使用单花括号 {name}。不要将其与 Markdown 内联字段语法混淆,后者使用双花括号 {{type:label}}。这两种语法是故意不同的,不会冲突。

变量检测

NueForm 通过扫描以下内容自动检测表单中引用的所有变量:

  • 所有文本字段(标题、描述、欢迎/感谢页面)中的 {variableName} 标记。
  • 逻辑跳转条件中以 url: 为前缀的字段。
  • 逻辑跳转操作中的变量名称。
  • 问题上的 answerVariable 声明。
  • 表单级别的变量定义。

这种全面扫描产生一个排序的、去重的所有变量名称列表。

变量解析顺序

解析 {variableName} 标记时,NueForm 按以下顺序检查变量:

  1. URL 变量 -- 通过表单 URL 传递。
  2. 答案变量 -- 由配置了 answerVariable 的问题的受访者答案设置。
  3. 表单变量 -- 在表单级别定义并通过逻辑跳转操作修改。

如果相同的变量名称存在于多个来源中,URL 变量优先(因为它们是传递给替换函数的来源,与表单/答案变量合并在一起)。

将数据节点响应用作选项列表

数据节点会把其 API 响应保存到响应变量设置中指定的变量里。除了在文本中使用它,您还可以把它用作选择类问题的列表:将多选题、下拉菜单或排序题的选项来源(或矩阵题的行来源或列来源)设为来自变量,然后输入该变量:

  • 当响应本身就是列表(例如 ["Siamese", "Persian"])时,使用 {breeds}。
  • 当列表位于响应内部(例如 {"data": [...]})时,使用 {breeds.data}。嵌套的键用点号访问;如果键不是一个简单的单词,请使用 {breeds["the list"]}。

有关支持的格式以及标签字段和值字段的映射,请参阅选择题类型中的“来自变量的选项”一节。这些来源设置只对直接放在表单中的问题提供,不适用于问题组、多问题页面或复合组件中的问题。

数据节点只保留其响应的前 4,096 个字符。如果列表的 JSON 更长,到达时就会被截断,问题会显示“无法加载这些选项。”而不是选项。请让您的 API 返回更少的条目,或只返回您需要的字段。

示例

个性化欢迎

URL:https://nueform.io/f/feedback?name=Sarah&product=Widget

欢迎标题:"嗨 {name}!" 欢迎描述:"我们很想听听您对 {product} 的看法。"

结果:"嗨 Sarah!" / "我们很想听听您对 Widget 的看法。"

动态跟进问题

问题 1:"您的职位是什么?"(答案变量:role) 问题 2:"作为 {role},您面临的最大挑战是什么?"

计算分数显示

表单变量:score(number,默认值:0) 逻辑跳转操作:根据答案添加分数 感谢描述:"您获得了 {score} 分!感谢完成测验。"

使用 URL 变量进行条件路由

URL:https://nueform.io/f/survey?plan=enterprise

起始逻辑跳转:

  • 条件:url:plan equals "enterprise"
  • 目标:跳转到企业版专属问题
  • 操作:将 plan_name 设为 "Enterprise"

最佳实践

  1. 使用描述性名称:选择清晰表明存储内容的变量名称(例如用 customer_name 而非 n)。
  2. 设置默认值:对于表单变量,始终提供有意义的默认值,以防变量从未被修改。
  3. 使用 URL 参数测试:使用 URL 变量时,用各种参数组合测试表单以确保所有路径正常工作。
  4. 优雅处理缺失变量:如果 URL 变量可能未提供,请设计文本使其在变量解析为空字符串时仍然通顺。
最后更新:2026年10月8日