我希望在表单生成器中保存表单后发送提交,我最初尝试这样的事情(在我的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:model之外的XBL文件中(尽管我试图把它放在xbl:model中但没有运气)。 不幸的是,在我在表单生成器中保存表单后,它不起作用。 任何人都知道为什么它不起作用?
答案 0 :(得分: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>