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

Submit button on nested form submits the outer form in IE7

本文关键字:表单 IE7 外部 提交 按钮 Submit 嵌套      更新时间:2023-09-26

我的主页上有以下代码。aspx页面:

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

但是,当我点击"Go"按钮时,页面会返回Home。

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

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

但是即使我按ENTER键,Home。重新加载Aspx页面

我能看到的唯一一件事,可能是工作的事情是这个表单实际上是主POSTBACK表单的子表单。. NET注入到页中。

我肯定我错过了一些愚蠢的事情,这篇文章会立刻得到800个点赞,把我送回书呆子的世界,但也许我最近睡眠不足,我错过了一些愚蠢的事情。

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

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

您可以考虑修改您的提交逻辑,以适当地处理场景服务器端(通过单个回发表单)。否则,您可能不得不考虑偏离标准ASP的路线。. NET Webforms回发模型。

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

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

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

你可以做的是,因为你是通过。net webforms受苦,只是在c#中有一个Button_Click事件对应于你正在点击的提交按钮,并让它从那里做项目跳转。