我在三个单独的标签页面上有三个表单。使用jQuery选项卡时,每个选项卡都是必要的唯一标识。
当我提交表单时,我会显示一条感谢信息,然后使用三个标签将页面重定向回初始页面。
在将位置设置回原始页面时,我希望它自动转到表单提交的标签页。
我尝试了以下内容:
setTimeout(setToDefault,2000);
function setToDefault()
{ window.location = window.location.hash="tabs-28"; }
这会更改网址栏中的地址,但页面不会显示在任何位置。有什么想法吗?
答案 0 :(得分:0)
当您运行该JavaScript时,您还不清楚是否已经在“原始”页面上,但是您尝试在没有网址的情况下设置window.location
,所以我假设您已经在正确页面,并试图显示另一个标签:
如果您使用的是jQuery标签,请设置历史记录的哈希值,然后使用select()
方法:
window.location.hash = "tabs-28"; // only returns 'tabs-28' back, which is
// why setting it to window.location then
// doesn't work
var index = ???; // ??? = whatever the tab index is
myTabElement.tabs("select", index) // use the jQuery Tab library to switch to
// the desired tab
如果您不在包含标签的原始页面上,请在“谢谢”页面上填写:
window.location.hash = "originalpage.html#tabs-28";
然后回到'原始'页面:
jQuery(function({
if (window.location.hash != '') {
var myTabElement = jQuery('#whateverTabElementIs'),
index = ???;
// ??? = however you figure the index based on current window.location.hash
myTabElement.tabs("select", index);
}
}));
OR 如果您想在首次初始化标签元素时
jQuery( "#whateverTabElementIs" ).tabs({ selected: ??? });
// ??? = however you figure the index based on current window.location.hash