如何检查在asp.net中的文本框中是否按下了enterkey

本文关键字:文本 是否 enterkey net 何检查 检查 asp | 更新日期: 2023-09-27 18:11:54

我有一个asp.net文本框,它接受MM/DD/YYYY格式的日期。输入日期后,我将按回车键。如果输入键,我需要执行服务器端代码。我们怎样才能做到这一点呢?

文本框的问题是,只有当文本框失去焦点时,它才会触发文本更改事件

如何检查在asp.net中的文本框中是否按下了enterkey

你可以使用Panel。DefaultButton属性可以在用户按Enter键时自动单击按钮。

例如:

<asp:Panel Id="panel1" runat="server" DefaultButton="btnSubmit">
  <asp:TextBox Id="txtDate" runat="server" />
  <asp:Button Id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" runat="server" />
</asp:Panel>

如果你不想显示按钮,你可以设置它的style="display: none"

设置jquery标签

那么使用jquery你可以尝试像这样

$("#field").keydown(function(e){
     if(e.keyCode === 13)
     {
          // enter event
     }
});

使用keydown事件:

textBox.Attributes.Add("onKeyDown", "KeyDownHandler()");

KeyDownHandler()检查按下的键,如果正确,则提交周围的表单或调用AJAX请求。键盘代码见Javascript Char codes。


或者,文本框ID可以从.aspx注入到jQuery中,并分配一个直接keydown处理程序:

$('#<%=textBox.clientID%>').keydown(function (e) { /* Do server request; */ });

你可以调用这个Javascript函数来检查是否按下了回车键

function checkEnterKeyPress(e)
{
     var key;     
     if(window.event)
          key = window.event.keyCode; //IE
     else
          key = e.which; //firefox     
     if (key == 13){
         alert(key);
     }
}