Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

oncomplete attribute of h:commandLink not invoked

We are migrating from JSF 1.2 to JSF 2.2.6 along with RichFaces 4.5.2. Facing issues with the oncomplete not getting called. The JS function during onclick gets called, but JS in oncomplete does not get called. How is this caused and how can I solve it?

<h:commandLink ... onclick="ed();" oncomplete="cEd(#{rowIndex});">
like image 661
jsflearner Avatar asked Mar 16 '23 12:03

jsflearner


1 Answers

There is indeed no such attribute in <h:commandLink>. You're most likely confusing with <a4j:commandLink> which does have that attribute.

You've basically 2 options:

  1. Just replace <h:commandLink> by <a4j:commandLink>.

    <a4j:commandLink ... oncomplete="oncompleteFunction()" />
    
  2. Nest a <f:ajax> with an event handler inside <h:commandLink>.

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

Hint for the future: just read the tag documentation. Links are in 1st paragraph.

like image 67
BalusC Avatar answered Apr 09 '23 20:04

BalusC