Skip to main content
adding example
Source Link
RenegadeCoder
  • 2.6k
  • 15
  • 27

There's a bug in apex:actionFunction which prevents the action from firing properly unless you include a rerender attribute. Try giving it a rerender="none"(or some valid component), and move it up one level (inside the form, outside the tabPanel). Also, your Javascript func() isn't needed, as you can just call onclick="CallApexMethod();"

<apex:sectionHeader title="Event" subtitle="{!Event.Subject}"/>
<apex:form >
    <apex:pagemessages id="errors" />
    
    <apex:actionFunction name="CallApexMethod" action="{!campaignpage}" rerender="errors" />
    <apex:tabPanel switchType="ajax" id="tabVerify1" selectedTab="c">
        <apex:tab label="Event" name="name1"> You are in Event Page! </apex:tab>
        <apex:tab label="Campaign Feedback" rendered="{!readonly}" onclick="CallApexMethod()" id="tabDetails" >
         </apex:tab>
        <apex:tab label="Chargeable Single Order" onTabEnter="window.parent.location.replace('/apex/page2');" > </apex:tab>
        <apex:tab label="Giveaway Order" onTabEnter="window.parent.location.replace('/apeX/page3');" > </apex:tab>
    </apex:tabPanel>
</apex:form>

There's a bug in apex:actionFunction which prevents the action from firing properly unless you include a rerender attribute. Try giving it a rerender="none"(or some valid component), and move it up one level (inside the form, outside the tabPanel). Also, your Javascript func() isn't needed, as you can just call onclick="CallApexMethod();"

There's a bug in apex:actionFunction which prevents the action from firing properly unless you include a rerender attribute. Try giving it a rerender="none"(or some valid component), and move it up one level (inside the form, outside the tabPanel). Also, your Javascript func() isn't needed, as you can just call onclick="CallApexMethod();"

<apex:sectionHeader title="Event" subtitle="{!Event.Subject}"/>
<apex:form >
    <apex:pagemessages id="errors" />
    
    <apex:actionFunction name="CallApexMethod" action="{!campaignpage}" rerender="errors" />
    <apex:tabPanel switchType="ajax" id="tabVerify1" selectedTab="c">
        <apex:tab label="Event" name="name1"> You are in Event Page! </apex:tab>
        <apex:tab label="Campaign Feedback" rendered="{!readonly}" onclick="CallApexMethod()" id="tabDetails" >
         </apex:tab>
        <apex:tab label="Chargeable Single Order" onTabEnter="window.parent.location.replace('/apex/page2');" > </apex:tab>
        <apex:tab label="Giveaway Order" onTabEnter="window.parent.location.replace('/apeX/page3');" > </apex:tab>
    </apex:tabPanel>
</apex:form>
Source Link
RenegadeCoder
  • 2.6k
  • 15
  • 27

There's a bug in apex:actionFunction which prevents the action from firing properly unless you include a rerender attribute. Try giving it a rerender="none"(or some valid component), and move it up one level (inside the form, outside the tabPanel). Also, your Javascript func() isn't needed, as you can just call onclick="CallApexMethod();"