Skip to content

n8n 表单节点

使用 n8n 表单节点创建面向用户的多步骤表单。您可以在其中添加其他节点并自定义逻辑来处理用户输入。您必须使用n8n 表单触发器启动工作流程。

没有任何

设置节点

使用查询参数设置默认选择

您可以使用查询参数以及n8n 表单触发器提供的初始 URL来设置字段的初始值。表单中的每个页面都会收到发送到 n8n 表单触发器 URL 的相同查询参数。

仅用于生产

查询参数仅在生产模式下使用表单时可用。n8n 不会在测试模式下从查询参数填充字段值。

使用查询参数时,请对任何包含特殊字符的字段名称或值进行百分号编码。这可确保 n8n 使用给定字段的初始值。您可以使用URL Encode/Decode等工具,通过百分号编码来格式化查询参数。

例如,假设您有一个具有以下属性的表单:

  • 生产网址:
  • 字段
    • :::

使用查询参数和百分比编码,您可以使用以下 URL 将初始字段值设置为上述数据:

1
https://my-account.n8n.cloud/form/my-form?email=jane.doe%40example.com&name=Jane%20Doe

这里,百分号编码将 at 符号 ( ) 替换为字符串,将空格字符 ( ) 替换为字符串。无论这些字段出现在表单的哪个页面上,这都会设置它们的初始值。

显示自定义 HTML

您可以通过在表单中添加“自定义 HTML”字段来显示自定义 HTML。这将提供一个HTML框,您可以在其中插入任意 HTML 代码,并将其显示为表单页面的一部分。

您可以使用 HTML 字段来丰富您的表单页面,包括链接、图像、视频等内容。n8n 将在正常文档流中将内容与其余表单字段一起呈现。

由于自定义 HTML 内容是只读的,因此默认情况下这些字段不包含在表单输出数据中。要将原始 HTML 内容包含在节点输出中,请使用“元素名称”字段为数据提供名称。

HTML 字段不支持、或元素。

包括隐藏字段

表单中可以包含字段但不向用户显示。当你想将不需要交互式用户输入的额外数据传递到表单时,这很有用。

要添加不会显示在表单上的字段,请使用隐藏字段表单元素。在这里,您可以定义字段名称,并选择性地通过填写字段值来提供默认值。

在提供表单时,您可以使用查询参数传递隐藏字段的值。

使用 JSON 定义表单

使用“定义表单” > “使用 JSON”通过JSON 对象数组定义表单字段。每个对象使用以下键的组合定义一个字段:

  • :出现在输入字段上方的标签。
  • :从、 、 、 、 、 、或 中选择。
    • 使用
    • 在表单中包含日期选择器。
    • 有关日期格式的更多信息,
    请参阅
    • 使用 时
    • ,将选项设置为
    • (参考下面的示例)。默认情况下,下拉菜单是单选的。要使其成为多选,请设置
    • 使用 时
    • ,设置
    • 以允许用户选择多个文件。要定义允许的文件类型,请设置
    • 为包含逗号分隔的文件扩展名列表的字符串(参考下面的示例)。
  • :指定字段的占位符数据。除、和 之外,其他所有字段均可使用此字段。
  • :要求用户在表单上填写此字段。

示例 JSON 显示所需的一般格式和可用的键:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Use the "requiredField" key on any field to mark it as mandatory
// Use the "placeholder" key to specify placeholder data for all fields
//     except 'dropdown', 'date' and 'file'

[
	{
		"fieldLabel": "Date Field",
		"fieldType": "date",
		"formatDate": "mm/dd/yyyy", // how to format received date in n8n
		"requiredField": true
	},
	{
		"fieldLabel": "Dropdown Options",
		"fieldType": "dropdown",
		"fieldOptions": {
			"values": [
				{
					"option": "option 1"
				},
				{
					"option": "option 2"
				}
			]
		},
		"requiredField": true
	},
	{
		"fieldLabel": "Multiselect",
		"fieldType": "dropdown",
		"fieldOptions": {
			"values": [
				{
					"option": "option 1"
				},
				{
					"option": "option 2"
				}
			]
		},
		"multiselect": true // setting to true allows multi-select
	},
	{
		"fieldLabel": "Email",
		"fieldType": "email",
		"placeholder": "me@mail.con"
	},
	{
		"fieldLabel": "File",
		"fieldType": "file",
		"multipleFiles": true, // setting to true allows multiple files selection
		"acceptFileTypes": ".jpg, .png" // allowed file types
	},
	{
		"fieldLabel": "Number",
		"fieldType": "number"
	},
	{
		"fieldLabel": "Password",
		"fieldType": "password"
	},
	{
		// "fieldType": "text" can be omitted since it's the default type
		"fieldLabel": "Text"
	},
	{
		"fieldLabel": "Textarea",
		"fieldType": "textarea"
	}
]

表格结尾

使用“表单结束页面”类型来结束表单,并显示完成页面、将用户重定向到 URL 或显示自定义 HTML 或文本。即使 n8n 执行多个包含“表单结束”节点的分支,每次执行也只显示一个“表单结束”页面。

使用n8n 表单提交时,请在以下选项之间进行选择:

  • 显示完成屏幕:向用户显示最终屏幕,以确认其已提交表单。
    • 填写
    • “完成标题”
    • 以设置
    • 表单的标题。n8n
    会将
    • “完成消息”
    • 显示
    • 表单
    • 主标题下方的副标题
    。使用
    • 可添加换行符。
    • 选择
    • “添加”选项
    • 并填写
    • “完成页面标题”
    • 以设置浏览器选项卡中的页面标题。

使用“重定向到 URL”时,请在URL字段中填写用户填写表单时要重定向到的页面。

使用“显示文本”功能显示由任意纯文本和 HTML 定义的最终页面。在“文本”字段中填写您想要显示的 HTML 或纯文本内容。

带有分支的表格

每当 n8n 表单节点从上一个节点接收到数据时,它就会执行并显示其关联的表单页面。使用 n8n 构建表单时,为了避免混淆,务必了解分支发生时表单的行为方式。

具有互斥分支的工作流

包含互斥分支的表单工作流按预期运行。n8n 将根据您提交的数据和您概述的条件执行单个分支。执行过程中,n8n 将显示分支中的每个页面,并以页面类型为“表单结束”的 n8n 表单节点结束。

此工作流程演示了互斥分支。每个选择只能执行一个分支。

没有任何

可能执行多个分支的工作流

同时向多个分支发送数据的表单工作流需要更加谨慎。当多个分支在执行过程中接收数据(例如,从切换节点)时,n8n 会按顺序执行每个接收数据的分支。到达一个分支的末尾后,执行将移至下一个有数据的分支。

n8n每次执行仅执行一个表单结束n8n 表单节点。当表单工作流的多个分支接收数据时,n8n 会忽略除与最终分支关联的表单结束节点之外的所有表单结束节点。

此工作流在一次执行过程中可能会执行多个分支。此处,n8n 按顺序执行所有有效分支。这会影响 n8n 执行哪些 n8n 表单节点(特别是显示哪个“表单结束”节点):

没有任何

节点选项

选择添加选项以查看更多配置选项:

  • 表单标题:表单的标题。n8n 将表单标题显示为表单上的网页标题和主标题。
  • 表单描述:表单的描述。n8n 会将表单描述显示为表单主标题下方的副标题。此字段支持 HTML 格式。使用或可添加换行符。表单描述还会填充页面的HTML 元描述
  • 按钮标签:用于表单提交按钮的标签。n8n 将按钮标签显示为提交按钮的名称。

运行节点

构建和测试工作流程

构建或测试工作流时,请使用n8n 表单触发器中的测试 URL 。使用测试 URL 可确保您可以在编辑器 UI 中查看传入的数据,这对于调试非常有用。

有两种测试方法:

  • 选择“测试步骤” 。n8n 打开表单。提交表单后,n8n 将运行该节点及其之前的节点,但不会运行其余工作流。
  • 选择“测试工作流” 。n8n 打开表单。提交表单后,n8n 将运行该工作流。

生产工作流程

工作流程准备就绪后,请打开触发器节点,并在“来源 URL”选择器中选择“生产 URL” ,切换到使用 n8n 表单触发器的生产URL 。然后,您可以激活工作流程,当用户提交表单时,n8n 会自动运行该工作流程。

使用生产 URL 时,请确保已保存并激活工作流。流经表单触发器的数据在编辑器 UI 中与生产 URL 不可见。

模板和示例

没有任何