1

我有一个确认对话框出现在一个表单上,当点击确定时将用户重定向到另一个页面。

但是,是否可以在新窗口中打开该页面(例如 target="_blank")

我正在使用的代码是:

var answer=confirm("Do u want to continue?") {
if (answer==false) {
document.form.field1.focus();
return false;
}
window.location.href = "/some/url"
}
4

2 回答 2

1

所以window.location指的是你当前窗口的位置,所以改变它当然会让你远离你所在的窗口。要打开一个新窗口,您需要window.open- 请参阅使用 JavaScript 在新选项卡(而不是新窗口)中打开 URL

但是,我建议改为使用一个链接,如果用户回答错误,则拦截默认行为,否则回退到默认行为。

IE:

<a href="/some/url" id="foo">bar</a>

$('#foo').click(function(e){
  var answer=confirm("Do u want to continue?") {
     if (answer==false) {
       document.form.field1.focus();
       e.preventDefault();
     }
  }
});

尽管我必须仔细检查这是否真的有效,但我根本没有进行过多的确认,因此您可能必须在该块之外调用 e.preventDefault() 。

于 2013-08-28T15:20:04.523 回答
-2
window.open(
  '/some/url',
  '_blank'
);
于 2013-08-28T15:19:36.193 回答