Activity Forums Salesforce® Discussions What is difference between Action support and Action function in salesforce?

  • Manpreet

    Member
    April 19, 2017 at 1:31 pm

    Hi suraj,

    1. difference is in case of Action function we invoke AJAX using Java script while in case of Action support we may directly invoke method from controller

    2. other difference is Action function may be commonly used from different place on page while action support may only be used for particular single apex component.

    difsupfun

    Just Try out this example http://www.cloudforce4u.com/2013/06/difference-between-action-support-and.html

    Thanks.

  • shariq

    Member
    September 16, 2018 at 5:47 pm

    Hi,

    Hi,

    apex:ActionFunction : This component helps to envoke AJAX request (Call Controllers method) directly from Javascript method. It must be child of apex:form.
    <apex:actionFunction name=”sendEmail” action=”{!sendEmailFunction}”>

    </apex:actionFunction>

    apex:ActionSupport : This component adds Ajax request to any other Visualforce component. Example : Commandlink button has inbuilt AJAX functionality however few components like OutputPanel does not have inbuilt AJAX capabilities. So with the help of this component, we can enable AJAX.

    <apex:outputpanel id=”counter”>
    <apex:outputText value=”Click Me!: {!count}”/>
    <apex:actionSupport event=”onclick” action=”{!incrementCounter}” rerender=”counter” status=”counterStatus”/>
    </apex:outputpanel>

    Hope his helps.

    Hope this helps.

  • Parul

    Member
    September 17, 2018 at 3:55 am

    Hi

    These are the AJAX action tags that support the calling of action and refresh the field only not the entire Visualforce page.

    1. <apex:actionFunction> - Provides support for invoking controller action methods directly from JavaScript code using an AJAX request. An <apex:actionFunction> component must be a child of an <apex:form> component.

    1. Both action support and function can be used to call a controller method using an AJAX request.
    * for example call controller onclick of a inputcheck box
    * or call a controller method onfocus of a input field
    Well, they both do the same thing of calling controller method.

    Difference between both:

    1. Action function can call the controller method from java script.
    2. Action support adds AJAX support to another visualforce component and then call the controller method.
    for example:

    <apex:outputpanel id="outptpnl">
    <apex:outputText value="click here"/>
    <apex:actionSupport event="onclick" action="{!controllerMethodName}"  rerender="pgblck" />
    </apex:outputpanel>

    Here action support adds AJAX to output panel, so once you click on output panel controller method will be called.

    3. Action function cannot add AJAX support to another component. But from a particular component which has AJAX support(onclick, onblur etc) action function can be called to call the controller method.
    Example:

    <apex:actionFunction name="myactionfun"  action="{!actionFunMethod}" reRender="outptText"/>
    <apex:inputcheckbox onclick="myactionfun" />

     

     

    Thanks

     

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos