有什么方法可以 link xform 绑定和 xform 操作吗?
Is there any way to link xform bind and xform action?
在表单中,当用户单击一个按钮时,它会显示一个弹出窗口 - 我将从用户那里获取输入 - 应该是 ID 类型 (http://books.xmlschemata.org/relaxng/ch19-77151.html)。
当用户点击保存时 - 它会调度一个事件,如果它的 ID 类型,它将把从弹出窗口中获取的输入添加到表单中的实例。
我不知道该怎么做?
我已经尝试使用绑定和提交-也就是说我没有任何端点到post-所以当错误不是类型验证错误时我正在修改所需的实例。
但这确实发送了一个不必要的 post 请求——我想避免这种情况。
我试过的发送不必要的 POST 请求的方法:
<xf:submission id="save-step" method="post" replace="none" ref="instance('addId')" >
<xf:action ev:event="xforms-submit-error" if="event('error-type')!='validation-error'">
<xf:insert ev:event="DOMActivate" nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step"/>
<xf:dispatch ev:event="DOMActivate" name="popup-action-close" targetid="ModelId" />
</xf:action>
</xf:submission>
<xf:bind nodeset="instance('addStepId')/step/name" type="xsd:ID" constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>
我希望不提交就完成:
<xf:action ev:event="save-step" >
<xf:insert nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step" />
<xf:dispatch name="popup-action-close" targetid="ModelId" />
</xf:action>
<xf:bind id="checkStepName" nodeset="instance('addStepId')/step/name" type="xsd:ID" constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>
但我不确定如何将 xform 绑定附加到 xform 操作!
绑定无法附加到操作:在操作执行期间,绑定不是 re-evaluated。
所有绑定都是 re-evaluated,根据依赖关系,在操作执行后。
在一些非常特殊的情况下,需要在一系列操作中重新计算、刷新或重建。这就是指定 xforms:recalculate、xforms:revalidate、xforms:refresh 和 xforms:rebuild 操作的原因。
在表单中,当用户单击一个按钮时,它会显示一个弹出窗口 - 我将从用户那里获取输入 - 应该是 ID 类型 (http://books.xmlschemata.org/relaxng/ch19-77151.html)。
当用户点击保存时 - 它会调度一个事件,如果它的 ID 类型,它将把从弹出窗口中获取的输入添加到表单中的实例。
我不知道该怎么做?
我已经尝试使用绑定和提交-也就是说我没有任何端点到post-所以当错误不是类型验证错误时我正在修改所需的实例。
但这确实发送了一个不必要的 post 请求——我想避免这种情况。
我试过的发送不必要的 POST 请求的方法:
<xf:submission id="save-step" method="post" replace="none" ref="instance('addId')" >
<xf:action ev:event="xforms-submit-error" if="event('error-type')!='validation-error'">
<xf:insert ev:event="DOMActivate" nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step"/>
<xf:dispatch ev:event="DOMActivate" name="popup-action-close" targetid="ModelId" />
</xf:action>
</xf:submission>
<xf:bind nodeset="instance('addStepId')/step/name" type="xsd:ID" constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>
我希望不提交就完成:
<xf:action ev:event="save-step" >
<xf:insert nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step" />
<xf:dispatch name="popup-action-close" targetid="ModelId" />
</xf:action>
<xf:bind id="checkStepName" nodeset="instance('addStepId')/step/name" type="xsd:ID" constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>
但我不确定如何将 xform 绑定附加到 xform 操作!
绑定无法附加到操作:在操作执行期间,绑定不是 re-evaluated。
所有绑定都是 re-evaluated,根据依赖关系,在操作执行后。
在一些非常特殊的情况下,需要在一系列操作中重新计算、刷新或重建。这就是指定 xforms:recalculate、xforms:revalidate、xforms:refresh 和 xforms:rebuild 操作的原因。