使用一组自适应表单创建自适应表单 create-an-adaptive-form-using-a-set-of-adaptive-forms
Adobe 建议使用现代、可扩展的数据捕获核心组件,以创建新的自适应表单或将自适应表单添加到 AEM Sites 页面。这些组件代表有关创建自适应表单的重大改进,确保实现令人印象深刻的用户体验。本文介绍了使用基础组件创作自适应表单的旧方法。
概述 overview
在工作流(如开立银行账户的申请)中,您的用户会填写多个表单。 您无需要求他们填写一组表单,而是可以将表单栈叠在一起并构建大型表单(父表单)。 将自适应表单添加到较大表单时,会将其添加为面板(子表单)。 添加一组子表单以创建父表单。 您可以根据用户输入显示或隐藏面板。 父表单的按钮(如提交和重置)将覆盖子表单的按钮。 要在父表单中添加自适应表单,您可以从资产浏览器中拖放该自适应表单(如自适应表单片段)。
可用的功能包括:
- 独立创作
- 显示/隐藏相应的表单
- 延迟加载
与使用单个组件创建父表单相比,独立创作和延迟加载等功能可提高性能。
幕后 behind-the-scenes
您可以在父表单中添加基于XSD的自适应表单和片段。 父表单的结构与任何自适应表单相同。 将自适应表单作为子表单添加时,它会作为面板添加到父表单中。 绑定子表单的数据存储在父表单XML架构的afBoundData
部分的data
根下。
例如,您的客户填写申请表。 表单的前两个字段是名称和身份。 其XML为:
<afData>
<afUnboundData>
<data />
</afUnboundData>
<afBoundData>
<data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
<applicantName>Sarah Rose</applicantName>
<applicantId>1234</applicantId>
</data>
</afBoundData>
</afData>
在应用程序中添加其他表单,以便客户填写其办公室地址。 子表单的架构根为officeAddress
。 应用bindref
/application/officeAddress
或/officeAddress
。 如果未提供bindref
,则子表单将添加为officeAddress
子树。 请参阅以下格式的XML:
<afData>
<afUnboundData>
<data />
</afUnboundData>
<afBoundData>
<data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
<applicantName>Sarah Rose</applicantName>
<applicantId>1234</applicantId>
<officeAddress>
<addressLine>1, Geometrixx City</addressLine>
<zip>11111</zip>
</officeAddress>
</data>
</afBoundData>
</afData>
如果插入另一个允许客户提供住宅地址的表单,请应用bindref
/application/houseAddress or /houseAddress.
XML如下所示:
<afData>
<afUnboundData>
<data />
</afUnboundData>
<afBoundData>
<data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
<applicantName>Sarah Rose</applicantName>
<applicantId>1234</applicantId>
<officeAddress>
<addressLine>1, Geometrixx City</addressLine>
<zip>11111</zip>
</officeAddress>
<houseAddress>
<addressLine>2, Geometrixx City</addressLine>
<zip>11111</zip>
</houseAddress>
</data>
</afBoundData>
</afData>
如果要保留与架构根相同的子根名称(本示例中为Address
),请使用索引的bindrefs。
例如,应用bindrefs /application/address[1]
或/address[1]
和/application/address[2]
或/address[2]
。 表单的XML为:
<afData>
<afUnboundData>
<data />
</afUnboundData>
<afBoundData>
<data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
<applicantName>Sarah Rose</applicantName>
<applicantId>1234</applicantId>
<address>
<addressLine>1, Geometrixx City</addressLine>
<zip>11111</zip>
</address>
<address>
<addressLine>2, Geometrixx City</addressLine>
<zip>11111</zip>
</address>
</data>
</afBoundData>
</afData>
您可以使用bindRef
属性更改自适应表单/片段的默认子树。 bindRef
属性允许您指定指向XML架构树结构中某个位置的路径。
如果子表单未绑定,则其数据存储在父表单的XML架构的afUnboundData
部分的data
根下。
您可以多次将自适应表单添加为子表单。 确保正确修改了bindRef
,以便自适应表单的每个使用实例都指向数据根下的不同子根。
使用资源浏览器将自适应表单添加为子表单 adding-an-adaptive-form-as-a-child-form-using-asset-browser
执行以下步骤,使用资产浏览器将自适应表单添加为子表单。