JavaScript错误:Microsoft JScript运行时错误:预期的对象

时间:2012-09-12 16:56:23

标签: javascript asp.net

下面是我用于我的网页的Ajax TabContainer的“截断”代码。我需要在JavaScript函数中找到容器的tab索引,但是当在JavaScript中调用这行代码时,我仍然会收到错误消息“Microsoft JScript runtime error:Object expected”:

        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>

1 个答案:

答案 0 :(得分:1)

我很快找到了这个问题的答案。我需要创建一个JS变量,它是tabContainer本身。然后,我只需要进入并获取_activeTabIndex属性值。以下是更改后的代码

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