Orbeon 表单 - 如何更改 Orbeon Action 的默认行为

Orbeon forms - how to change default behaviour of Orbeon Action

目前在 Orbeon Forms 中,当您定义一个 Orbeon 动作 时,它会(例如)对表单,您可以指定哪个 Service 在提供一些输入参数的同时执行该 Action 调用。此外,您可以指定要对服务响应执行的操作以及要如何使用收到的数据,例如可能会填充一些其他表单字段。

我有一种情况,Orbeon 表单被用作 Hybris Commerce Suite 的一部分,我需要在某些字段更改后触发服务调用,然后在服务器端执行逻辑并 重新加载 原始页面(表单所在的位置)。由于 Orbeon Builder 没有为我提供该功能,您能告诉我一些 hints/inputs 如何实现的吗?

换句话说,我可以覆盖默认的 Orbeon Builder 功能,让我在从服务器收到响应时重新加载页面吗?如果我使用带有 JS/JQuery 的常规 HTML 表单,这将不是问题,我只是不确定 Orbeon 如何处理这个问题。

提前致谢

假设您使用的是表单生成器 services and actions, to plugin your own JavaScript after the service ran, in Form Builder, edit the source of the form,并在 </xf:model> 之前添加以下内容:

<xxf:script observer="my-service-submission"
    ev:event="xforms-submit-done">alert('gaga');</xxf:script>.

observer 属性中,将 my-service 替换为您为服务指定的名称(保留 -submission 后缀)。当然,将 alert('gaga') 替换为您想要 运行.

的实际 JavaScript 代码