【发布时间】:2011-12-14 08:19:49
【问题描述】:
我注意到这对我不起作用,我想知道这是否不可能:
<h:form id="one" prependid="false" >
<h:commandButton>
<f:ajax execute=":two">
</h:commandButton>
</h:form>
<h:form id="two" prependid="false">
... content ...
</h:form>
当我点击上面的按钮时,我可以看到表单two 上的值没有按预期执行。
这是正常的 JSF 行为吗?
为了“欺骗”它,我通常在表单two 中插入一个隐藏按钮,并在单击表单one 中的按钮时使用JavaScript 代码触发它。但这是一个“技巧”,让我在不确定是否必须做的时候额外工作。
我应该提到rendering 另一种形式是可能的。
prependid 属性会导致问题吗?
提前致谢!
更新添加更多可能相关的信息 - 将prependid="false" 添加到实际代码中使用的表单中。
【问题讨论】:
-
首先您可以尝试
<f:ajax execute="@all"/>来检查是否真的是 ids 问题(@all 执行页面上的所有内容)。 ajax 标记中缺少的斜线是错字,不是吗? -
@MattHandy 查看 BalusC 的回答。