2012-09-12 135 views
1

下面是我用於我的網頁的Ajax TabContainer的「截斷」代碼。我需要找到一個JavaScript函數的容器的標籤索引,但是我不斷收到錯誤消息「Microsoft JScript運行錯誤:預期的對象」時,這行代碼被稱爲在JavaScript:JavaScript錯誤:Microsoft JScript運行時錯誤:預期對象

 function doValidate() { 
      var tabIndex = $('#tabs_header span.ajax_tab_active').index() 

如果我註釋掉「var tabIndex ...」部分,我不會收到錯誤,所以我想知道是否有人能告訴我這裏發生了什麼。以下是tabContainer的代碼。我已經「截斷」了,因爲它是一個超過12個文本框輸入的非常大的表單。這兩個選項卡代表兩種不同的搜索方法。通過點擊「搜索」按鈕,doValidate()方法是第一個被調用的動作,在站點甚至進入後面的代碼之前。此外,無論哪個選項卡處於活動狀態,我都會在同一行代碼中收到相同的錯誤消息。

<asp:TabContainer ID="AdvOrBasicSearch" runat="server" ActiveTabIndex="0"> 
    <div id="tabs_header"> 
     <span id="tab1" class="ajax_tab_active"> 
     <asp:TabPanel ID="basicSearch" runat="server" HeaderText="Basic Search">.../asp:TabPanel>     

     </span> 
     <span id="tab2" class="ajax_tab_active"> 
     <asp:TabPanel ID="advSearch" runat="server" HeaderText="Advanced Search">...</asp:TabPanel> 
     </span> 
    </div> 
    </asp:TabContainer> 
+0

您是否導入了jQuery? – Pointy

+1

不需要向我們展示您的.NET代碼,呈現的HTML/JavaScript就是這裏所有重要的東西。 – RedFilter

回答

1

我很快找到了這個問題的答案。我需要創建一個JS變量,它是tabContainer本身。然後,我只需進入並獲取_activeTabIndex屬性值。以下是已更改的代碼

 function doValidate() { 
      var tabIndex = $find("AdvOrBasicSearch"); 
      var i = tabIndex._activeTabIndex; 
相關問題