我可以在自定义流程中或使用 JavaScript 检查表单是否脏吗?
Can I check if the form is dirty in a custom process or with JavaScript?
我有一个绑定到按钮的自定义流程,定义如下:
<property as="xs:string" name="oxf.fr.detail.process.send-to-myservice.*.*">
set-data-status(status="safe")
then send(
uri="http://localhost:8080/myservice",
content="xml",
replace="none",
prune="true"
)
then success-message(message="Save Successful")
then navigate(uri="javascript:window.MY_NAMESPACE.orbeonPostSave()")
recover error-message(message="Save Failed")
</property>
<property as="xs:string" name="oxf.fr.resource.*.*.en.buttons.send-to-myservice" value="Save"/>
我只想在表单脏时执行 send
操作。我能否将此过程更改为有条件地 send
only if clean?
我正在使用代理 portlet,实际上隐藏了 Orbeon 按钮。我有自己的自定义按钮,可以使用 JavaScript 模拟点击 Orbeon 按钮。我可以调用 JavaScript 函数来检查数据状态吗?那会一样好,甚至更好。
您似乎在寻找 set-data-status()
的 "opposite",即读取数据状态的东西。现在,您必须使用 XPath 来执行此操作,例如:
if ("xxf:instance('fr-persistence-instance')/data-status = 'dirty'")
then send(…)
else nop
而且,显然,您必须在 运行 set-data-status(status="safe")
之前执行此操作,否则测试将始终失败。
我有一个绑定到按钮的自定义流程,定义如下:
<property as="xs:string" name="oxf.fr.detail.process.send-to-myservice.*.*">
set-data-status(status="safe")
then send(
uri="http://localhost:8080/myservice",
content="xml",
replace="none",
prune="true"
)
then success-message(message="Save Successful")
then navigate(uri="javascript:window.MY_NAMESPACE.orbeonPostSave()")
recover error-message(message="Save Failed")
</property>
<property as="xs:string" name="oxf.fr.resource.*.*.en.buttons.send-to-myservice" value="Save"/>
我只想在表单脏时执行 send
操作。我能否将此过程更改为有条件地 send
only if clean?
我正在使用代理 portlet,实际上隐藏了 Orbeon 按钮。我有自己的自定义按钮,可以使用 JavaScript 模拟点击 Orbeon 按钮。我可以调用 JavaScript 函数来检查数据状态吗?那会一样好,甚至更好。
您似乎在寻找 set-data-status()
的 "opposite",即读取数据状态的东西。现在,您必须使用 XPath 来执行此操作,例如:
if ("xxf:instance('fr-persistence-instance')/data-status = 'dirty'")
then send(…)
else nop
而且,显然,您必须在 运行 set-data-status(status="safe")
之前执行此操作,否则测试将始终失败。