停止输入键从发射按钮单击事件

本文关键字:按钮 单击 事件 发射 输入 | 更新日期: 2023-09-27 18:18:23

我希望这很容易,但是我已经看过了,找不到一个适合我的解决方案。我有一个aspx页面上有2个用户控件。一个是带有自动完成文本框的用户控件,我希望按"Enter"键来引起回发。

我有一个按钮在另一个控件的页面上的onClick做别的事情。当我在Auto Complete中输入文本并按enter键时,按钮的onClick触发。是否有一种方法可以让回车键不导致onClick触发。

我已经尝试了一些javascript禁用回车键,但这破坏了我的文本框输入。

我的选择是什么

编辑1

这里是我的一些标记

<uc:CompanyAC runat="server" ID="ac" />
<cc2:GenericGridView OnHtmlDataCellPrepared="HtmlDataCellPrepared"
KeyFieldName="CompanyID" ID="gridCompanies" DataSourceID="ManageCompaniesObjectDataSource" runat="server" 
AutoGenerateColumns="False" />

CompanyAC控件有一个带有jquery的文本框,可以自动完成WS调用(不需要显示

)
<asp:TextBox ID="searchbox" runat="server" Width="400px" />

GenericGridView控件包含一个按钮

<asp:Button runat="server" ID="Button" Text="New" AllowFocus="false" OnClick="Button_Click" />

当焦点在文本框上时按下回车键,另一个控件中的按钮触发onclick。我不希望发生这种情况,但我仍然希望发生回发

停止输入键从发射按钮单击事件

try this

$('input').keypress(function(event){
        if(event.keyCode==13)
        {
            event.preventDefault();
            }
        })

如果你正在使用jQuery,你可以试试这个:

$('input').on('keypress', function(e){
    // Attempt form submit (after event function exits).
    var f = $(this).parents('form');
    setTimeout(function(){f.submit();}, 1);
    // Return false to prevent form submit when enter key is pressed.
    return !((window.event) ? window.event.keyCode : e.which)==13);
});