0

フォームが Form Builder に保存された後に提出を送信したいのですが、最初は次のようなことを試みていました (私の XBL ファイルで):

<xf:action ev:event="fr-data-save-done" ev:observer="fr-form-model">
    <xf:message event="#all" level="modal">Saved</xf:message>
    <xf:send submission="my-submission" ev:event="#all"/>
</xf:action>

上記のコードは、xbl:model の外側の xbl:template の間の XBL ファイルに配置されます (運が悪く、xbl:model の内側に配置しようとしましたが)。残念ながら、Form Builder でフォームを保存した後、メッセージが表示されません。なぜそれが機能しないのか、誰にもわかりましたか?

4

1 に答える 1

0

次のように、手動でイベント ハンドラーを配置できます。

<foo:bar id="my-component-id" bind="my-bind">
    <xf:dispatch
        event="fr-data-save-done"
        observer="fr-form-model"
        name="my-custom-event"
        targetid="my-component-id"/>
</foo:bar>

ハンドラは要素内にある必要はありません:

<foo:bar id="my-component-id" bind="my-bind"/>
<xf:dispatch
    event="fr-data-save-done"
    observer="fr-form-model"
    name="my-custom-event"
    targetid="my-component-id"/>

そして、XBL コンポーネント内:

<xbl:binding id="my-binding-id" element="foo:bar">
    <xbl:handlers>
        <xbl:handler event="my-custom-event" phase="target">
            ... XForms actions here ...
        </xbl:handler>
    </xbl:handlers>
    ...
</xbl:binding>
于 2014-12-29T22:44:26.977 に答える