ActionFunction不会在没有警报消息

时间:2016-10-27 22:51:54

标签: salesforce visualforce apex

我试图捕获控制器中的选定选项卡。我有以下代码,如果我留在脚本中的警报消息,它工作正常。一旦我删除警报,它似乎不再调用控制器。我只在代码段中显示一个标签。我还有其他3个定义。

<apex:page showheader="true" sidebar="true" controller="mycontroller">
<script>
    function setActiveTabJava(value){
        alert('here');
        setActiveTab(value);
    }
</script>
<apex:form >
  <apex:actionFunction id="activeTab" name="setActiveTab" action="{!setTab}" reRender="">
     <apex:param name="activeTab" assignTo="{!activeTab}" value=""/>
  </apex:actionFunction>
</apex:form>
<apex:pageblock >
    <apex:tabpanel selectedtab="Tab One" width="100%">
        <apex:tab label="This is tab one" name="tabone" id="referralTab" ontabenter="setActTabJava('TAB1');">
            <!-- other tab code-->          
        </apex:tab>
    </apex:tabpanel>
</apex:pageblock>

1 个答案:

答案 0 :(得分:0)

我基本上通过使用选项卡面板上的value属性来修复此问题。由于我的控制器只对选择了哪个选项卡感兴趣,而不是选择选项卡时它有效。基本上是:

<apex:tabpanel value="{!activeTab}">
  <apex:tab name="tab1">...</apex:Tab>

因此,每当更改选项卡时,只要您在选项卡上指定了名称属性,就可以在控制器中访问它。

很抱歉,我不再需要发布控制器代码,但它基本上只是一个在控制器中设置变量的方法。