我有一个用asp.net/C#编写的简单表单,当在表单的输入框中尝试按Enter时,由于某种原因不提交表单。我已经为之前的bug实现了一个修复程序,按下Enter只会刷新页面而不提交表单数据但是现在按Enter键什么都不做,修复方法如下:
<div style="display: none">
<input type="text" name="hiddenText" />
</div>
有人知道修复此问题或解决方法吗?
答案 0 :(得分:5)
我假设你的页面上有一个按钮,以及它的事件处理程序。
您是否尝试在Panel控件中包装表单(使用按钮)并设置默认按钮属性?
即
<asp:Panel id="pnlMyForm" runat="server" DefaultButton="btnMyButton">
<asp:textbox id="txtInput" runat="server" />
<asp:Button id="btnMyButton" text="Submit" runat="server" />
</asp:Panel>
答案 1 :(得分:4)
您可以为表单指定默认按钮,这意味着在任何输入控件上按Enter键将触发该按钮(即定位提交按钮)。我没有听说过这个在任何特定的浏览器中都没有。这可以消除您对解决方法/黑客的需求。
<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>
希望这会有所帮助......
答案 2 :(得分:0)
我不记得规则的具体细节,但是如果符合条件,大多数浏览器都能够在按下ENTER时提交表单。我认为这与你是否有一个或多于一个字段,或者是否至少有一个提交按钮(即使你隐藏它)有关。我在最近做过的网站上做过,但是我没有方便的代码,但是我可以告诉你它没有任何特殊的脚本。查看此帖子了解更多详情:
http://manfred.dschini.org/2007/09/20/submit-form-on-enter-key/