下面是我用于我的网页的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>
答案 0 :(得分:1)
我很快找到了这个问题的答案。我需要创建一个JS变量,它是tabContainer本身。然后,我只需要进入并获取_activeTabIndex属性值。以下是更改后的代码
function doValidate() {
var tabIndex = $find("AdvOrBasicSearch");
var i = tabIndex._activeTabIndex;