在新标签页中提交表单


143

我想(只是为了测试某些功能,在避免这种行为之后)将Submit调用的页面加载到新选项卡上:可以吗?

Answers:


305
<form target="_blank" [....]

将会在新标签页中提交表单...我不确定这是否是您想要的内容,请更好地说明...


1
哦,是的!那就是我的意思!对不起,我的英语太烂了。我编辑了这个话题,希望现在变得更加复杂:)
markzzz 2011年

1
jquery标签搞糊涂了,我还以为你在谈论一个Ajax请求;)
Strae

4
@nalply:认真吗?大多数浏览器的确会在网站建议每次使用新窗口(target="_blank")时使用标签。这是一件好事,因为几乎没有人希望网站打开新窗口,而且我认为这种默认设置不会改变,因为_blank如今几乎每个网站都在使用。
ThiefMaster 2012年

这是地毯下的重要细节。_blank不会打开新标签。它正在打开一个新窗口,大多数情况下(但并非总是如此!)默认情况下会打开一个新选项卡。这取决于浏览器的配置。请查看这个被高度评价的答案:stackoverflow.com/a/4907854/220060
2012年

@nalply我可以同意您使用该命令在新窗口中打开链接,但是您必须同意我今天所有已知的浏览器都将新窗口作为选项卡打开,因此结果是相同的。如果用户手动配置了浏览器以打开新窗口,那么可以选择这样做,而我们不能采取任何措施来阻止这种情况。
Strae,2012年

23

我有一个[提交]和[预览]按钮,我希望预览显示提交的表单数据的打印视图,而不是将其持久保存到数据库中。因此,我希望[预览]在新选项卡中打开,然后提交以在同一窗口/选项卡中提交数据。

<button type="submit" id="liquidacion_save" name="liquidacion[save]" onclick="$('form').attr('target', '');">Save</button></div>    <div>
<button type="submit" id="liquidacion_Previsualizar" name="liquidacion[Previsualizar]" onclick="$('form').attr('target', '_blank');">Preview</button></div>  

16

也可以使用formtargetHTML5引入的名为button的新按钮属性。

<form>
  <input type="submit" formtarget="_blank"/>
</form>


8

既然您已经获得了这个标记为jQuery的代码,那么我将假设您想要在成功函数中保留一些东西吗?

success: function(data){
    window.open('http://www.mysite.com/', '_blank');
}


2

这也将很好用,您可以在新标签处理程序提交时做其他事情。

<form target="_blank">
    <a href="#">Submit</a>
</form>

<script>
    $('a').click(function () {
        // do something you want ...

        $('form').submit();
    });
</script>

1

必须将浏览器选项设置为在新选项卡中打开新窗口,否则将打开新的浏览器窗口。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.