1

我有一个 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);  
}
4

3 回答 3

1
  • form.submit();

  • window.open('url');

使用表单提交时是一样的,method=GET 因为window.open();总是发出GET请求

但如果您使用POST方法提交表单,那么它与window.open()方法不同。

于 2013-10-24T06:24:50.913 回答
1

Form.Submit将带有值的输入类型控件传递给表单中定义的操作 URL,windows.open并将打开具有给定 URL 的新窗口

如果您希望将值传递到新页面,我建议您使用form.submit方法

<form method='post' action='URL'>
<input type=""
....
....
....
</form>

在您编写的脚本form.submit中,它将打开 URL,输入类型的值将在查询字符串中传递

于 2013-10-24T06:32:15.463 回答
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 相同,如 GET a Method )

你需要改变

//,......code
 frm.submit()
 {
 window.open(HPPSValue);
 }:     
//,......code
于 2013-10-24T06:26:17.483 回答