NueForm

变量

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

概述

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

变量类型

NueForm 支持三种类型的变量:

1. 答案变量

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

如何设置:

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

示例:

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

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

值转换:

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

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. 表单变量

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

如何定义:

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

属性描述
名称变量名称(例如 scorecategoryis_qualified)。
类型numberstring
默认值表单加载时的初始值。

如何修改:

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

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

示例:构建分数计算器

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

替换语法

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

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

替换工作原理

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

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

变量检测

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

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

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

变量解析顺序

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

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

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

示例

个性化欢迎

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

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

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

动态跟进问题

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

计算分数显示

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

使用 URL 变量进行条件路由

URLhttps://nueform.io/f/survey?plan=enterprise

起始逻辑跳转

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

最佳实践

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