c# - 响应 <input> 字段中的 "enter"按键

标签 c# javascript jquery asp.net html

我的问题是关于处理 Enter 键按下。我有一个名为“order.aspx”的页面位于母版页中。我在这里解释控制结构

1. <asp:TextBox ID="txtSearch" MaxLength="50" runat="server" Width="420px" CssClass="txtbox"></asp:TextBox>

2. <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" />

3. one asp grid control with one column containing textbox for entering order quantity 

4. <asp:Button ID="btnOrder" runat="server" OnClick="btnOrder_Click" />.

我的要求是,

  1. 当用户在搜索文本框中输入文本并按下回车键时 btnSearch_Click 应该触发
  2. 当用户在网格文本框中输入数量并按下回车键时,btnOrder_Click 应该触发。

我尝试了不同的代码终于得到了答案,但它的功能并不完整。下面是我使用的 javascript 代码。

function DoEnterKeyButtonClick(buttonId) {
     e = event;
     var code = (e.keyCode ? e.keyCode : e.which);
     if (code == 13) {
         document.getElementById('ctl00_CphMaster_' + buttonId).click();
         return false;
     }
}

我在按下 txtSearch 和网格文本框时调用此方法,并将按钮 ID 分别传递给触发事件 btnSearch 和 btnOrder。当我在搜索文本框中输入文本并按下回车键时,btnSearch_Click 正在触发,当我正在输入订单数量并按下回车键 btnOrder_Click 正在触发。但问题是,在更改页面索引后说第二页所需的功能不起作用。那是当我输入订单数量并按下回车键然后 btnSearch_Click将首先触发,然后是 btnOrder_Click 触发。这将清除输入的数量并导致错误。请帮助我...

谢谢, 乔比

最佳答案

而不是给这个 document.getElementById('ctl00_CphMaster_' + btnSearch).click();

试试这个 document.getElementById('<%= btnSearch.ClientID %>').click();

或者尝试使用 jquery

$("#txtSearch").keyup(function(event){
    if(event.keyCode == 13){
        $("#btnSearch").click();
    }
});

否则将控件放在 asp:panel 中并将 DefaultButton 属性设置为 btnSearch,如下所示

<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSearch">
    <asp:TextBox ID="txtSearch" MaxLength="50" runat="server" Width="420px" CssClass="txtbox"></asp:TextBox>
    <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" />
    </asp:Panel>

希望这会有所帮助。

非常感谢 安娜

关于c# - 响应 &lt;input&gt; 字段中的 "enter"按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715661/

相关文章:

javascript - 我如何提取 .text(data) 值以将其放入条件语句中

c# - Telerik 网格自定义列构建/格式化

c# - 获取字典中的第一个匹配项 LINQ

c# - 如何使用 Python 和 .NET/C# 自动化 Princeton Instruments LightField

javascript - 如何使用 jQuery 显示图像的加载栏?

jquery - 有没有办法只使用 jQuery 来回滚动画?

javascript - 使用 Bootstrap Datepicker 选择月份日期范围和月份

c# - ASP.net MVC 5 Razor 下拉框

javascript - 单选按钮表单上的参数列表后缺少 jquery )

javascript - 如何修改此 ES6 代码以插入断点?