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

概述

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

可用功能包括:

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

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

注意

不能将基于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. 在提要栏中,单击​资产 资产——浏览器。 在“资产”下,从下拉列表中选择​自适应表单
    在资产下选择自适应表单

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

在此页面上