未调用h:commandLink的oncomplete属性



我们正在从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>混淆。

你基本上有两个选择:

  1. <a4j:commandLink>代替<h:commandLink>

    <a4j:commandLink ... oncomplete="oncompleteFunction()" />
    
  2. <h:commandLink>内嵌套一个<f:ajax>和一个事件处理程序。

    <h:commandLink ...>
        <f:ajax onevent="oneventFunction" /><!-- No parenthesis! -->
    </h:commandLink>
    
    function oneventFunction(data) {
        if (data.status === "success") {
            oncompleteFunction();
        }
    }
    

给将来的提示:只需阅读标签文档。链接在第一段

相关内容

  • 没有找到相关文章