我想使用JavaScript动态插入表单,然后提交它并在新窗口中打开目标.
这是我的代码:
var form = document.createElement("form");
form.setAttribute("method","post");
form.setAttribute("action",xxx);
form.setAttribute("onsubmit","window.open('about:blank','Popup_Window','scrollbars=yes,width=550,height=520');");
form.setAttribute("target","Popup_Window");
document.body.appendChild(form);
form.submit();
此代码有效 – 它动态插入表单并成功提交表单.但是,表单在新选项卡中打开,而我希望它在新窗口中打开.有什么想法吗?对于如何解决这个问题,有任何的建议吗?我也对jQuery持开放态度.
谢谢!
编辑:我不确定为什么人们将此标记为重复.是的,它与其他问题在同一主题上,但答案没有关系 – 声称的重复问题有一个新的行,搞乱了代码,我没有,但我的代码仍然无法正常工作……
最佳答案
我将此标记为重复,因为我认为您的问题是关于如何将表单发送到弹出窗口.以下是如何在不使用onsubmit事件的情况下执行此操作:
var form = document.createElement("form");
form.setAttribute("method","post");
form.setAttribute("action",xxx);
function submitToPopup(f) {
var w = window.open('','form-target','width=600,height=400,any-other-option,...');
f.target = 'form-target';
f.submit();
};
document.body.appendChild(form);
submitToPopup(form);
因此,不是使用onsubmit事件从那里创建弹出窗口,而是在发送表单之前首先创建它,然后将表单发送给它.