我有一个文本框和许多按钮。当用户在某个文本框中并按下"enter“键时,将引发特定的按钮单击事件。我在互联网上看到“回车”键有一些问题,我尝试了一些解决方案,但它仍然总是进入按钮事件(该按钮是页面中的第一个按钮)。
我尝试创建一个什么也不做的按钮,并在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“属性赋予我创建的那个按钮。那也不管用。
你知道为什么这不起作用吗?我做错了什么吗?
发布于 2010-08-12 23:15:37
在ASP.NET中,控制哪个提交按钮在按下ENTER时被激活的标准方法是将控件和按钮包装在asp:Panel中,并将DefaultButton属性设置为正确的按钮。
如果我正确地理解了您的问题,您只希望在按ENTER时激活一个特定的按钮,所以将页面上的所有内容都包装在一个asp:Panel中。
<asp:Panel id="pnlDefaultButton" runat="server" DefaultButton="btnOK">
<!-- All controls here including: -->
<asp:Button id="btnOK" runat="server" Text="OK" />
</asp:Panel>
发布于 2014-02-09 02:40:32
不需要面板。只需使用以下内容:
UseSubmitBehavior="false"
发布于 2014-02-20 17:23:53
请使用
idTextBoxFA.Attributes.Add("onkeypress", "javascript:var evnt = window.event";
if(evnt.keyCode==13)
{
document.getElementById('" + noEnterButton.ClientID + "').click();
}
else{};");
https://stackoverflow.com/questions/3466980
复制相似问题