我想使用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();
Run Code Online (Sandbox Code Playgroud)
此代码有效 - 它动态插入表单并成功提交表单.但是,表单在新选项卡中打开,而我希望它在新窗口中打开.有什么想法吗?对于如何解决这个问题,有任何的建议吗?我也对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);
Run Code Online (Sandbox Code Playgroud)
因此,不是使用onsubmit事件从那里创建弹出窗口,而是在发送表单之前先创建它,然后将表单发送给它。
这将导航到 url
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "http://www.yahoo.com");
function popitup() {
newwindow = window.open('', 'name', 'width=800,height=600');
if (window.focus) {
newwindow.focus()
}
newwindow.document.body.appendChild(form);
newwindow.document.forms[0].submit();
return false;
}
popitup();
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
10722 次 |
| 最近记录: |