0

我想在表单保存在表单生成器中后发送提交,我起初尝试过这样的事情(在我的 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:template 之间的 XBL 文件中,在 xbl:model 之外(尽管我试图将它放在 xbl:model 中但没有运气)。不幸的是,它不起作用,在我将表单保存在表单生成器中后,没有显示消息。有人知道为什么它不起作用吗?

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 回答