我有一个文本框和许多按钮。当用户在某些文本框中并按“输入”键时,会出现特定的按钮单击事件。我在互联网上看到,“输入”键有一些问题,我尝试了几个解决方案,但仍然总是输入该按钮事件(该按钮是页面中的第一个按钮)。
我尝试创建一个不做任何事情的按钮,并在page_load中写入:
idTextBoxFA.Attributes.Add("onkeydown","if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementBtId('" + noEnterButton.UniqueID + "').click();return false;}} else {return true}; ");
我所有的页面控件都是一种形式,我尝试给我创建的按钮“defaultButton”属性。那没有工作。
任何想法为什么这不工作,我做错了什么?
解决方法
按下ENTER键,ASP.NET中控制哪个提交按钮被激活的标准方法是将控件和按钮包装在一个asp:面板中,并将DefaultButton属性设置为正确的按钮。
如果我正在正确地阅读您的问题,那么只需按一下ENTER按钮即可激活一个特定的按钮,这样就可以在一个单独的asp:面板中将您的页面上的所有内容都包装起来。
<asp:Panel id="pnlDefaultButton" runat="server" DefaultButton="btnOK"> <!-- All controls here including: --> <asp:Button id="btnOK" runat="server" Text="OK" /> </asp:Panel>