使用一组自适应表单创建自适应表单

概述

在工作流(如用于开立银行帐户的应用程序)中,您的用户会填写多个表单。 您可以将表单堆叠在一起并构建一个大型表单(父表单),而不是要求他们填写一组表单。 向较大的表单添加自适应表单时,它将添加为面板(子表单)。 可添加一组子表单以创建父表单。 您可以根据用户输入显示或隐藏面板。 父表单的按钮(如提交和重置)会覆盖子表单的按钮。 要在父表单中添加自适应表单,您可以从资产浏览器中拖放自适应表单(如自适应表单片段)。

功能包括:

  • 独立创作
  • 显示/隐藏适当的表单
  • 延迟加载

独立创作和延迟加载等功能比使用单个组件创建父表单提高了性能。

注意

不能将基于XFA的自适应表单/片段用作子表单或父表单。

幕后工作

您可以在父表单中添加基于XSD的自适应表单和片段。 父表单的结构与任何自适应表单](/docs/experience-manager-64/forms/using/prepopulate-adaptive-form-fields.html?lang=zh-Hans)相同。 [当您将自适应表单添加为子表单时,它会作为面板添加到父表单中。 绑定子表单的数据存储在父表单的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,以便自适应表单的每个已使用实例指向数据根下的不同子根。

注意

如果不同的表单/片段映射到同一子根,则数据会被覆盖。

使用资产浏览器将自适应表单添加为子表单

请执行以下步骤,以使用资产浏览器将自适应表单添加为子表单。

  1. 在编辑模式下打开父表单。

  2. 在提要栏中,单击​资产 assets-browser。 在“资产”下,从下拉菜单中选择​自适应表单
    在资产下选择自适应表单

  3. 拖放要作为子表单添加的自适应表单。
    将自适应表单拖放到您的站点中拖放的自适应表单将添加为子表单。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now