2010-01-22 50 views
3

我有一个用asp.net/C#编写的简单表单,当试图在表单的输入框中输入时不会提交表单。我已经建立了一个修补程序前一个臭虫,按下Enter键只会刷新页面,而无需提交表单数据,但现在按回车少了点什么,修复低于:IE 8 - 当用户按下输入键时不提交ASP.NET表单提交

<div style="display: none"> 
    <input type="text" name="hiddenText" /> 
</div> 

有人知道这个或修复解决方法?

+0

我认为它工作在其他浏览器? – AlishahNovin 2010-01-22 16:32:42

回答

5

我假设你有一个按钮某处您的网页上,以及为它的事件处理程序。

您是否尝试过在面板控件中包装您的窗体(使用按钮)并设置默认的按钮属性?

<asp:Panel id="pnlMyForm" runat="server" DefaultButton="btnMyButton"> 
<asp:textbox id="txtInput" runat="server" /> 
<asp:Button id="btnMyButton" text="Submit" runat="server" /> 
</asp:Panel> 
+0

哈哈,实际上是11秒钟:) +1 – 2010-01-22 16:38:21

+0

感谢凯尔/凯文,完美的工作,只是不得不删除我的“修复”旧的bug,提高了凯文的回答他的一些代表 – Jimmy 2010-01-22 18:01:14

4

您可以为表单指定一个默认按钮,这意味着在任何输入控件上按回车会触发该按钮(即,定位提交按钮)。我没有听说过这在任何特定浏览器中都不起作用。这应该会消除您对解决方法/破解的需求。

<form id="form1" runat="server"> 
    <asp:Panel ID="pnlFormContents" runat="server" DefaultButton="btnSubmit"> 
     <!-- add some input controls as needed --> 
     <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click"/> 
    </asp:Panel> 
</form> 

希望这有助于...

+0

伟大的思想家都认为,我认为我们同时提交。 +1 – 2010-01-22 16:37:14

0

我不记得规则的细节,但大多数浏览器都ENTER时,如果条件满足按下提交表单的能力。我认为这与你是否有1个或多个字段有关,或者是否至少有一个提交按钮(即使你隐藏了它)。我在最近做过的一个网站上完成了它,但是我没有代码,但我可以告诉你它没有任何特殊的脚本。检查此公告的详细信息:

http://manfred.dschini.org/2007/09/20/submit-form-on-enter-key/