注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
Foundry Forms旨在尽可能简化从各种来源获取信息的过程。在大多数情况下,这涉及配置一个表单,响应者填写一次并根据输入的值创建一个新的行(或Object)。这可以是简单或复杂的,但基本期望是响应者必须与表单的单个实例进行交互。
这种期望不适用于需要同一用户反复填写同一表单的应用案例。
考虑一位科学家需要记录长期实验观察数据的收集需求。
我们可以设计一个简单的表单来捕捉每次观察所需的信息:
然而,当有许多观察需要记录时,这种行为变得乏味和重复。在每个表单实例中重复做出相同的选择(在这种情况下,Date
和 Primary Category
)并提交响应浪费了时间。
这些应用案例最好通过多次输入来解决。与其一次填写一个表单,用户指定哪些字段是“共享”的,哪些是每个表单实例“唯一”的:
注意以下几点:
多次输入表单不支持Default Value
或UrlParams
配置。
按照以下步骤创建一个在自由形式环境中接受多次输入的表单:
在上面的示例中,由于 Measurement
和 Measurement Type
位于不同的表中,因此每个实例生成一个新条目。存在于表外的Date
和Primary Category
已作为每个提交创建的三个条目的共同值被捕获。
除了在所有表单实例中共享共同值外,参数化多次输入表单使用共享字段来确定显示多少个表单实例,并在每个实例中设置唯一值。
考虑上面的实验观察示例。如果每天都需要收集Pressure
、Depth
和Density
的测量值,我们可以强制它们始终用于Measurement Type
。
与自由多次输入表单不同,参数化多次输入表单需要额外的配置,以连接共享字段和将捕获其唯一值的字段:
按照以下步骤创建一个在参数化环境中接受多次输入的表单:
Text
)。要使预填充的值不可编辑,请打开接收字段的可视化编辑器并开启将此字段设为只读。
要接收每个Object实例的一个表单,可以使用Objects Provider
字段,按照以下步骤进行:
Objects Provider
字段。Text
字段。Text
字段的URI。Objects Provider
字段。Objects Provider
字段可以根据另一个字段的值进行筛选。