我可以在自定义流程或JavaScript中检查表单是否脏了吗?

时间:2016-03-10 21:57:55

标签: orbeon

我有一个与按钮绑定的自定义过程,定义如下:

<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

我正在使用代理portlet并实际隐藏Orbeon按钮。我有自己的自定义按钮,模拟使用JavaScript点击Orbeon按钮。有没有我可以调用的JavaScript函数来检查数据状态?这将是一样好或更好。

1 个答案:

答案 0 :(得分:2)

看起来你正在寻找&#34;对面&#34; s[j]的内容,即读取数据状态的内容。现在,您必须使用XPath执行此操作,例如:

set-data-status()

显然,您必须在运行if ("xxf:instance('fr-persistence-instance')/data-status = 'dirty'") then send(…) else nop 之前执行此操作,否则测试将始终失败。