duminică, 25 ianuarie 2015

[OmniFaces utilities (2.0/2.3)] Execute the given scripts on complete of the current ajax response


[OmniFaces utilities] The oncomplete() method executes the given scripts on complete of the current ajax response. Starting with OmniFaces 2.3 this method was improved to perform only if the current request is an AJAX request with partial rendering. 
For this, it uses the isAjaxRequestWithPartialRendering().

Method:
OmniFaces 2.3OmniFaces 2.0
Usage:

JSF Page: 
<h:head>
 <title></title>
 <script type="text/javascript">
  function testFunction(){
   alert("I'm  dummy JavaScript function ...");
  }
 </script>   
</h:head>
<h:body>
       
 Click the below button to fire an AJAX request and execute a script
 when the request is complete
 <h:form>
  <h:commandButton value="Test!" action="#{testBean.testAction()}">
   <f:ajax/>
  </h:commandButton>
 </h:form>                       
</h:body>

JSF Bean: 
import org.omnifaces.util.Ajax;
...
public void testAction(){
 //do something here
 Ajax.oncomplete("testFunction()");
}
If you want to execute more than one JavaScript function, then separate them by comma, as below:

Ajax.oncomplete("testFunction_1(),testFunction_2(), ..., testFunction_n()");

Niciun comentariu:

Trimiteți un comentariu