【问题标题】:JavaScript Error: Microsoft JScript runtime error: Object expectedJavaScript 错误:Microsoft JScript 运行时错误:预期对象
【发布时间】:2012-09-12 16:56:23
【问题描述】:

下面是我用于网页的 Ajax TabContainer 的“截断”代码。我需要在 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>

【问题讨论】:

  • 无需向我们展示您的 .NET 代码,呈现的 HTML/JavaScript 在这里很重要。

标签: javascript asp.net


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多