Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将表单提交到特定窗口_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 将表单提交到特定窗口

Javascript 将表单提交到特定窗口,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在弹出窗口的iframe中有一个HTML表单,我想将它提交到弹出窗口的打开窗口(window.parent.opener)中。表单不存在于打开的窗口中,而仅存在于弹出窗口的iframe中。最简单的方法是什么 我认为表单目标没有帮助,因为它们只允许指定_parent,并且打开的窗口没有iframename。可以选择在打开的窗口中动态地重新创建iframe的表单,只要它不可见。在给定序列化表单数据的情况下,是否有一个库来动态创建表单 (首选jQuery解决方案)您不能序列化表单中的所有数据并通过w

我在弹出窗口的iframe中有一个HTML表单,我想将它提交到弹出窗口的打开窗口(window.parent.opener)中。表单不存在于打开的窗口中,而仅存在于弹出窗口的iframe中。最简单的方法是什么

我认为表单目标没有帮助,因为它们只允许指定_parent,并且打开的窗口没有iframename。可以选择在打开的窗口中动态地重新创建iframe的表单,只要它不可见。在给定序列化表单数据的情况下,是否有一个库来动态创建表单


(首选jQuery解决方案)

您不能序列化表单中的所有数据并通过
window.parent.opener将其传递给父级吗

或者将URL与类似
window.parent.opener.location=”的内容一起使用http://something.com?var1=test&var2=test“

对于POST,尝试以友好的方式设置目标:


document.whateverForm.target=window.parent.opener.window.name

您不能序列化表单中的所有数据并通过
window.parent.opener
将其传递给父级吗

或者将URL与类似
window.parent.opener.location=”的内容一起使用http://something.com?var1=test&var2=test“

对于POST,尝试以友好的方式设置目标:


document.whateverForm.target=window.parent.opener.window.name

您不能序列化表单中的所有数据并通过
window.parent.opener
将其传递给父级吗

或者将URL与类似
window.parent.opener.location=”的内容一起使用http://something.com?var1=test&var2=test“

对于POST,尝试以友好的方式设置目标:


document.whateverForm.target=window.parent.opener.window.name

您不能序列化表单中的所有数据并通过
window.parent.opener
将其传递给父级吗

或者将URL与类似
window.parent.opener.location=”的内容一起使用http://something.com?var1=test&var2=test“

对于POST,尝试以友好的方式设置目标:


document.whateverForm.target=window.parent.opener.window.name

在另一个窗口中动态地重新创建表单并不像我想象的那么糟糕。此代码段应该可以做到这一点:

var originalForm = $('#myForm');
var values = originalForm.serializeArray();
var newForm = $('<form>').attr({method: 'post', action: originalForm.prop('action')});
$.each(values, function(i, val) {
    newForm.append($('<input>').attr({type: 'hidden'}).attr(val));
});
$('body', window.parent.opener.document).append(newForm);
newForm.submit();
var originalForm=$('#myForm');
var values=originalForm.serializeArray();
var newForm=$('').attr({method:'post',action:originalForm.prop('action')});
$.each(值、函数(i、val){
append($('').attr({type:'hidden'}).attr(val));
});
$('body',window.parent.opener.document).append(newForm);
newForm.submit();

在另一个窗口中动态地重新创建表单并不像我想象的那么糟糕。此代码段应该可以做到这一点:

var originalForm = $('#myForm');
var values = originalForm.serializeArray();
var newForm = $('<form>').attr({method: 'post', action: originalForm.prop('action')});
$.each(values, function(i, val) {
    newForm.append($('<input>').attr({type: 'hidden'}).attr(val));
});
$('body', window.parent.opener.document).append(newForm);
newForm.submit();
var originalForm=$('#myForm');
var values=originalForm.serializeArray();
var newForm=$('').attr({method:'post',action:originalForm.prop('action')});
$.each(值、函数(i、val){
append($('').attr({type:'hidden'}).attr(val));
});
$('body',window.parent.opener.document).append(newForm);
newForm.submit();

在另一个窗口中动态地重新创建表单并不像我想象的那么糟糕。此代码段应该可以做到这一点:

var originalForm = $('#myForm');
var values = originalForm.serializeArray();
var newForm = $('<form>').attr({method: 'post', action: originalForm.prop('action')});
$.each(values, function(i, val) {
    newForm.append($('<input>').attr({type: 'hidden'}).attr(val));
});
$('body', window.parent.opener.document).append(newForm);
newForm.submit();
var originalForm=$('#myForm');
var values=originalForm.serializeArray();
var newForm=$('').attr({method:'post',action:originalForm.prop('action')});
$.each(值、函数(i、val){
append($('').attr({type:'hidden'}).attr(val));
});
$('body',window.parent.opener.document).append(newForm);
newForm.submit();

在另一个窗口中动态地重新创建表单并不像我想象的那么糟糕。此代码段应该可以做到这一点:

var originalForm = $('#myForm');
var values = originalForm.serializeArray();
var newForm = $('<form>').attr({method: 'post', action: originalForm.prop('action')});
$.each(values, function(i, val) {
    newForm.append($('<input>').attr({type: 'hidden'}).attr(val));
});
$('body', window.parent.opener.document).append(newForm);
newForm.submit();
var originalForm=$('#myForm');
var values=originalForm.serializeArray();
var newForm=$('').attr({method:'post',action:originalForm.prop('action')});
$.each(值、函数(i、val){
append($('').attr({type:'hidden'}).attr(val));
});
$('body',window.parent.opener.document).append(newForm);
newForm.submit();

< />代码>您是否考虑对父页进行Ajax请求以获得表单值?弹出窗口(或者,弹出窗口中的iFrAMP)应该使打开窗口提交一个POST请求并显示结果。Ajax有助于提交数据,但不会更改打开窗口的内容。您是否考虑对父页进行Ajax请求以获得表单值?弹出式窗口(或者,在弹出式窗口中的IFRAME)应该使打开窗口提交POST请求并显示结果。Ajax有助于提交数据,但不会更改打开窗口的内容。您是否考虑对父页进行Ajax请求以获得表单值?弹出式窗口(或者,在弹出式窗口中的IFRAME)应该使打开窗口提交POST请求并显示结果。Ajax有助于提交数据,但不会更改打开窗口的内容。您是否考虑对父页进行Ajax请求以获得表单值?弹出式窗口(或者,在弹出式窗口中的IFRAME)应该使打开窗口提交POST请求并显示结果。Ajax将有助于提交数据,但不会更改打开窗口的内容。是的,但我不希望在父页面中添加表单(或任何了解表单的JavaScript)。使用window.location将导致HTTP GET,但这肯定应该由HTTP POST完成。请检查编辑的答案。这是一个非常酷的想法:)不幸的是,我怀疑它是否会起作用,至少在所有浏览器上是如此。在我的Chrome中,名称是“”。是的,但我不希望在父页面中添加表单(或任何了解该表单的JavaScript)。使用window.location将导致HTTP GET,但这肯定应该由