【发布时间】:2014-12-22 19:12:22
【问题描述】:
我想在表单保存在表单生成器中后发送提交,我一开始是在尝试这样的事情(在我的 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 中但没有运气)。 不幸的是,它不起作用,在我将表单保存在 Form Builder 中后,没有显示消息。 有人知道为什么它不起作用吗?
【问题讨论】:
-
你把这段代码放在哪里了?
-
目前只是在xbl:template之间。我试图将它移动到 xbl:model 中,但没有帮助。
-
还有一个问题:我使用哪个 Orbeon 版本有关系吗?它不能在 Orbeon 4.7 下工作,但也许它会在 4.5 下工作?
-
我认为它不应该适用于任何一个版本。组件封装了功能,因此侦听组件外部的
fr-data-save-done事件应该不起作用。理想情况下,您的组件和 Form Builder 应该与事件“粘合”在一起,例如:外部事件处理程序向您的组件分派自定义事件。 -
嗯,这听起来对我来说并不容易,您能否在谈论“外部事件处理程序”时更具体一些,或者可能有一些类似的例子?我是否正确理解不能仅基于我的 XBL 文件在保存表单上发送提交?圣诞快乐,我觉得你和 Orbeon 一起做的事情很棒,在这里帮助了所有这些人 - 我真的很感激