0

我想创建类似“如果表单提交”的内容,将打开新标签的用户重定向到特定的 URL。我想把它写成一个 JavaScript 函数,有什么建议吗?

4

4 回答 4

1

使用on('submit', function () { ... })

$("form").on("submit", function () {
     window.location = "/redirectUrl";
     return false; // prevent refreshing page
});

JSFIDDLE

大多数浏览器都会阻止新标签页的打开,因此,只需将用户重定向到新页面即可。


但是你可以用 HTML 来做到这一点:

<form target="_blank" action="/redirectUrl"></form>

JSFIDDLE

于 2013-08-12T14:52:15.887 回答
1

您可以将目标属性写入表单标签:

<form target="_blank"></form>
于 2013-08-12T14:52:59.423 回答
0

如果我理解你的话,你需要打开一个带有特定 url 的新选项卡,这是表单提交的常规行为的一部分。

主要浏览器会阻止在非用户点击事件上打开新窗口/选项卡。所以你需要在提交按钮上绑定一个额外的事件,但是你无法控制提交是否成功(例如有一个像 jquery.validator 这样的验证器)。

$("#myform input[type=submit]").click(function() {
  window.open("http://www.site.com/");
});
于 2013-08-12T14:58:20.183 回答
0
$('form').on('submit', function() {

    window.open('someurl');

    // Some code to do the submit

    // Prevent the submit
    return false;
});

REF window.open

于 2013-08-12T14:53:44.767 回答