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

概述

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

可用功能包括:

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

与使用单个组件创建父表单相比,独立创作和延迟加载等功能可提供更佳的性能。

注意

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

幕后

您可以在父表单中添加基于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,以便自适应表单的每个使用实例都指向数据根目录下的不同子根目录。

注意

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

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

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

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

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

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

在此页面上