javascript - Bootstrap 3 - 将页面刷新到特定选项卡

标签 javascript ajax redirect razor href

我有一个页面,上面有 5 个选项卡 - 单击任何选项卡上的“保存”按钮后,它应该执行诸如验证和将数据发布到 Controller 等任务 - 效果很好。一旦 Ajax 调用成功返回,它就会调用一个警报,让用户知道它已成功保存数据,然后(这就是出错的地方)刷新页面;返回到同一选项卡。

目前只是修改了右侧标签页的地址栏地址,并没有真正刷新页面。 我必须手动按 URL 栏上的 Enter 才能刷新。

我的文档中有此代码。准备好:

$(function () {
            var hash = window.location.hash;
            hash && $('ul.nav a[href="' + hash + '"]').tab('show');

            $('.nav-tabs a').click(function (e) {
                $(this).tab('show');
                var scrollmem = $('body').scrollTop();
                window.location.hash = this.hash;
                $('html,body').scrollTop(scrollmem);
            });
        });

这是我的 Ajax 函数 - 它可以工作,但是刷新页面的代码可以按照上面的详细说明进行操作。

$.ajax({
     type: "POST",
     url: '@Url.Action("AddNewAssessment","ChangeManagement")',
     dataType: "text",
     contentType: "application/json; charset=utf-8",
     data: JSON.stringify(dataList)
}).done(function (data) {
     if (data == "Success") {
         alert("Saved successfully");
         var test = window.location.href + "tab_Assessment";
         window.location.href = test;
      }
}).fail(function () {
     alert("There was a problem, please try again.");
});

我做错了什么?

根据我所做的研究,似乎没有人遇到这个问题(我已经查看了多个 SO 问题。)

最佳答案

您不应使用 location.href 来更改选项卡。 查找Bootstrap-Doku关于选项卡以手动更改选项卡。

$('#myTabs a[href="#profile"]').tab('show') // Select tab by name
$('#myTabs a:first').tab('show') // Select first tab
$('#myTabs a:last').tab('show') // Select last tab
$('#myTabs li:eq(2) a').tab('show') // Select third tab (0-indexed)

关于javascript - Bootstrap 3 - 将页面刷新到特定选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33388884/

相关文章:

javascript - JS 无效/意外 token : ��#

javascript - 如何在 JSFiddle 中使用 localhost URL 的 getJSON 返回键/值对?

Apache HTTP 重定向到 Tomcat (LiferaY)

linux - 仅通过过滤器管道 STDERR

javascript - 隐藏div中的表单并仅在重定向后显示它

javascript - 设备宽度媒体查询的 Android 2.2 2.3 解决方法

javascript - 通过单击替换 Bootstrap 模态的主体

javascript - 如果调用是在 AJAX 中进行的,如何检测并仅允许特定的 url 访问 Flask API?

c# - ASP.NET jQuery Ajax 调用代码隐藏方法

javascript - jQuery 函数 if else - 太快了吗?