Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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 嵌套表单上的Submit按钮在IE7中提交外部表单_Javascript_Asp.net_Html_Forms - Fatal编程技术网

Javascript 嵌套表单上的Submit按钮在IE7中提交外部表单

Javascript 嵌套表单上的Submit按钮在IE7中提交外部表单,javascript,asp.net,html,forms,Javascript,Asp.net,Html,Forms,我的Home.aspx页面上有以下代码: <form id="frmJump" method="post" action="Views/ViewsHome.aspx"> <input name="JumpProject" /><input type="submit" value="Go" /> </form> 但是,当我单击“Go”按钮时,页面将返回Home.aspx,而不是进入ViewsHome.aspx 我甚至尝试添加一些

我的Home.aspx页面上有以下代码:

  <form id="frmJump" method="post" action="Views/ViewsHome.aspx">
    <input name="JumpProject" /><input type="submit" value="Go" />
  </form>

但是,当我单击“Go”按钮时,页面将返回Home.aspx,而不是进入ViewsHome.aspx

我甚至尝试添加一些脚本来强制表单提交:

<input name="JumpProject" onkeypress="if(event.keyCode == 13) { this.form.submit(); return false; }" />

但即使我按ENTER键,Home.aspx页面仍会重新加载

我能看到的唯一一件事可能是,这个表单实际上是ASP.NET注入页面的主回发表单的子表单

我肯定我错过了一些愚蠢的事情,这篇帖子会立即获得800张反对票,将我驱逐回n00b领域,但也许我最近睡眠不足,错过了一些愚蠢的事情


这是在IE7和ASP.NET 4.0后端上实现的。我还在页面上加载了jQuery库,以防jQuery能够以某种方式改进这一点。谢谢

最简单的解释是表单不能嵌套


您可以考虑修改提交逻辑以适当地处理场景服务器端(通过单个回发窗体)。否则,您可能需要考虑一个偏离标准的ASP.NET WebFras回传模型的路径。

不允许在HTML中嵌套表单。大多数浏览器都不支持它


你可以做的是,因为你正在经历.net webforms的痛苦,只需在C#中有一个与你正在单击的submit按钮对应的Button#Click事件,然后让它从那里执行项目跳转。

你不能将表单嵌套在HTML中,因此浏览器将忽略内部表单标记。当您提交表单时,它将提交页面上唯一的表单


如果需要将表单发布到其他页面,可以使用Javascript在发送前更改当前表单(单击按钮),或者创建新表单元素,将其添加到页面并提交。

不能将表单嵌套在HTML中。这是不正确的标记。它不仅不正确,而且.Net将通过确保只提交外部表单而高兴地进行FTFY这是正确的行为。用脚本更改表单动作听起来也是个好主意。我也将对此进行调查+这就是我问题的解决办法。我需要使用jQuery更改已经存在的.net表单元素的action属性。例如:$('aspnetForm').attr('action',');