javascript - 表单提交到新选项卡并重新加载当前页面

标签 javascript jquery ajax forms

我想,我脑子被堵住了,抱歉。我找不到更好的解决方案来解决以下问题:

我正在通过 POST(通过服务器进行数据处理)发送表单,并希望在新选项卡中打开该表单(将在后端创建带有参数的自定义 URL),并且当前窗口中的 URL 应该更改。

我使用setTimeout()的解决方案:

function formsubmit() {
  $("#formID").submit();
  setTimeout(function(){
   window.open("URL", "_self");
  }, 1);
}

在 HTML 中,如果单击按钮或图像,将调用该函数。该表单具有属性target="_blank"

还有其他方法可以提交表单并获得相同的输出吗?

提前致谢。

如果您投反对票,请在评论中写下原因。

最佳答案

Use data-remote="true" with jquery ajax

data-remote="true" 将异步提交表单

 <a id="remote" data-remote="true" data-type="json" href="/project/4/request_access">Request Access</a>


$(document).ready(function() {
    $("#remote").on("ajax:success", function (e, data, status, xhr) {
        window.open("URL", "_self");
     });
});

希望我的回答对您有所帮助。

关于javascript - 表单提交到新选项卡并重新加载当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745041/

相关文章:

jquery - 设置 JQuery event.preventDefault() 时绕过 window.open 上的弹出窗口阻止程序

ajax - 使用延迟加载或类似方法处理 knockout 中的大量数据

javascript - 在没有 jQuery 的情况下从数据属性中获取数组

javascript - 从 IE6 更新到 IE7+ 时究竟发生了什么问题?

javascript - .apply() 方法不适用于 jQuery .animate()

jQuery - 随机化框并在窗口加载时为它们设置动画

jquery - 用 on event 替换 delegate

jquery - 在 ASP.net Web.Config 中设置 jsonSerialization maxJsonLength 给出 500 错误

c# - 捕获 jquery ajax 错误回调中的错误?

javascript - 计算货币