我们正在从JSF 1.2迁移到JSF 2.2.6以及RichFaces 4.5.2。面临oncomplete
未被呼叫的问题。onclick
期间的JS函数被调用,但oncomplete
中的JS没有被调用。这是如何造成的,我该如何解决?
<h:commandLink ... onclick="ed();" oncomplete="cEd(#{rowIndex});">
在<h:commandLink>
中确实没有此属性。您很可能会与具有该属性的<a4j:commandLink>
混淆。
你基本上有两个选择:
-
用
<a4j:commandLink>
代替<h:commandLink>
。<a4j:commandLink ... oncomplete="oncompleteFunction()" />
-
在
<h:commandLink>
内嵌套一个<f:ajax>
和一个事件处理程序。<h:commandLink ...> <f:ajax onevent="oneventFunction" /><!-- No parenthesis! --> </h:commandLink>
function oneventFunction(data) { if (data.status === "success") { oncompleteFunction(); } }
给将来的提示:只需阅读标签文档。链接在第一段