Javascript中form.submit和window.open()之间的区别

时间:2013-10-24 06:19:40

标签: javascript asp.net

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

3 个答案:

答案 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