我在基于xforms的表单中有以下代码:
<!--<xforms:action ev:event="xforms-select" target="retrievalControl-control">-->
<xforms:action ev:event="xforms-ready" target="fr-form-model">
<xforms:send submission="loadConfiguration"/>
</xforms:action>
如果我取消注释上面的注释行(并注释掉包含xforms-ready的行),我会得到预期的结果(即,在选择目标控件时调用提交),但如果我保持上面的代码为是的,那么我可以在日志中看到xforms-ready事件已经为所声明的模型触发了,但是这个提交没有被调用。提交实际上是在正确的位置定义的(即,所引用的模型,实际上是我基于xform格式定义的唯一模型)
提交这个模型的xforms-ready之后没有被调用的原因是什么?
答案 0 :(得分:1)
将xforms-ready
事件分派给模型,因此您可以:
ev:observer="fr-form-model"
,假设您的模型的ID为fr-form-model
。 (您还可以找到有关ev:observer
and ev:target
attributes的更多信息。)答案 1 :(得分:0)
通过将上面的代码片段移动到模型本身而不是其他地方解决了这个问题(早先在xhtml体中出现,而模型是在xhtml头部)。下面提到的也可以放在模型中:
<xforms:action ev:event="xforms-ready">
<xforms:send submission="loadConfiguration"/>
</xforms:action>
和
<xforms:send ev:event="xforms-ready" submission="loadConfiguration" />