我想将表单提交到弹出窗口(非空白)。这很好,但由于某种原因,我的父窗口第二次打开。
var formelements = document.getElementById("exportform");
formelements.removeAttribute("action");
formelements.setAttribute("target","/path/exportwindow.html");
exportwindow = window.open("/path/exportwindow.html", "myexportwindow", "width=800,height=600,resizable=yes");
formelements.submit();
HTML:
<form id="exportform" action="/path/myfunction" method="post">
所以会发生弹出窗口打开的情况,在后台我的父窗口会打开一个新选项卡。谁能告诉我为什么js的表现如此?
答案 0 :(得分:2)
window.open中的第二个参数是窗口名称,它必须与目标
相同 var formelements = document.getElementById("exportform");
formelements.setAttribute("action","path/to/exportwindow.php");
formelements.setAttribute("target","bugsme");
exportwindow = window.open("", "bugsme", "width=800,height=600,resizable=yes");
formelements.submit();
这会打开一个弹出窗口,但您可能不应删除action参数,而是将其设置为接收表单数据的正确脚本