开始的帖子太多:这可能是重复的,但是...
这就是我想要做的:
<form id="form1" method="post" action="">
Name: <input type="text" id="text1" size=10><br>
<input type="hidden" id="hidden1" value="This text is hidden">
<input type="checkbox" id="checkbox1" value="Y"> Include stuff?<br>
Job Title: <select name="select1" id="select1">
<option value="1">President</option>
<option value="2">Chief Cook</option>
<option value="3">Bottle Washer</option>
</select>
<button name="button1" id="button1" onclick="doThisScript()">Submit Stuff</button>
</form>
function doThisScript() {
var form1=document.getElementById('form1');
form1.onsubmit=function() {
var w=window.open('resultsprogram.asp','resultswin','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300');
this.target = 'resultswin';
form1.submit();
}
}
此代码(基于我在这里可以找到的最接近的问题)将表格从“基本”页面转移到弹出窗口。但是,我想我要做的是将表单提交回服务器,但结果返回到该弹出窗口,而不是基础页面或新的选项卡/标准浏览器窗口。
那有可能吗?我认为必须有一种方法来创建带有URL的popupwin,将当前表单值传递给该页面,并告诉popupwin自己提交表单,以便它(而不是基础页面)获得结果。可以吗?
答案 0 :(得分:0)
调用window.open()
将调用服务器脚本,但不会向其发送表单参数。
您需要将表单的操作更改为服务器脚本:
function doThisScript() {
var form1=document.getElementById('form1');
form1.action = 'resultprogram.asp';
form1.target = 'resultswin';
}
}
您无需显式调用submit()
,因为这是单击提交按钮的默认操作。