javascript – 如何将表单提交到新窗口?

我想使用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事件从那里创建弹出窗口,而是在发送表单之前首先创建它,然后将表单发送给它.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...