我有一个表单,其中有三个提交按钮,用于回发不同场景的数据。
每个人都对控制器上的不同操作进行POST,但对于其中一个操作,我需要POST回到新的浏览器窗口。
这可能吗?我知道我可以在表单中添加target="_blank"
,但这会为所有提交按钮打开一个新窗口......
目前,我已经尝试了几种方法来实现这一点,但我完全失败了,我目前的非工作代码如下所示:
$("input[type=submit]").click(function (e) {
var form = $("form.filter-execution-form");
if ($(this).hasClass("run-report"))
$("form.filter-execution-form").attr("target", "_blank");
else
$("form.filter-execution-form").removeAttr("target");
});
有没有人有任何想法让这个工作?
谢谢,
基隆
答案 0 :(得分:1)
可能有很多不同的方法可以做到这一点。我能想象的最简单的方法是在第一个窗口中按下提交按钮时,打开一个新窗口,其中包含一个URL(在同一个域中),其中包含所需的表单(可能需要注意弹出窗口阻止程序) 。然后,将现有表单中输入的数据传输到新窗口中的表单。在新页面中调用javascript函数,告诉它提交表单。
答案 1 :(得分:1)
查看此帖子 - 使用相同的方法动态添加您想要的提交按钮的属性(即将其添加到您想要添加此支持的提交按钮的onclick事件中)
How do I add target="_blank" to a link within a specified div?
答案 2 :(得分:0)
我能想到这样做的最佳方式(可能不是最好的方法)就是使用JavaScript。
单击按钮时,阻止它执行任何操作,而是运行一些javascript,在空白页面上打开一个新窗口,其中包含隐藏的表单,使用javascript将值从表单传输到新的弹出窗体,提交弹出表格&用原始页面做某事来表明采取了行动。
答案 3 :(得分:0)
在表单集target="postWindow"
或任何其他名称相同的名称中,它始终会发布到该弹出窗口(如果未关闭)。