我有一个javascript函数,它使用父页面内容重定向到另一个页面。我的问题是当我使用form.submit
时,我被重定向到错误页面。当我尝试window.open
时,它有效。请帮帮我这两者之间的确切区别。 form.submit
是否也适用于此?请参阅下面的Javascript代码。当我取消注释window.open
并对frm.submit
发表评论时,它会有效。
function Check() {
var frm = document.forms[0];
var target = frm.target;
var action = frm.action;
var HPPSFeild='<%=HPPSURLFeild.ClientID%>';
var HPPSValue=document.getElementById (HPPSFeild).getAttribute('value');
frm.target = "_blank";
frm.action =HPPSValue;
alert (frm.action);
frm.submit();
frm.target = target;
frm.action = action;
//window.open(HPPSValue);
}
答案 0 :(得分:1)
使用表单提交时,
form.submit();
window.open( 'URL');
相同method=GET
因为window.open();
总是提出 GET 请求
但是如果您使用 POST 方法提交表单,那么它与window.open()
方法不同。
答案 1 :(得分:1)
Form.Submit
会将带有值的输入类型控件传递给表单中定义的操作网址,windows.open
会打开包含指定网址的新窗口
如果您希望将值传递到新页面,我建议您使用form.submit
方法
<form method='post' action='URL'>
<input type=""
....
....
....
</form>
在编写form.submit
时的脚本中,它将打开URL,输入类型的值将在查询字符串中传递
答案 2 :(得分:0)
见下面的代码
<form action="file.php" method="post" target="foo" onSubmit="window.open('', 'foo',
'width=450,height=300,status=yes,resizable=yes,scrollbars=yes')">
onSubmit 有助于调用任何服务器端事件或javascript函数(如Post to a method),但windos.open有助于打开下一页(与c#中的Response.Redirect相同) `,就像获取方法一样)
您需要更改
//,......code
frm.submit()
{
window.open(HPPSValue);
}:
//,......code