我有一个asp.net文本框,它接受MM / DD / YYYY格式的日期。输入日期后,我将按Enter键。如果输入密钥,我需要执行服务器端代码。如何实现这一目标?
文本框的问题是,只有在失去焦点时才会触发Text Changed事件。
答案 0 :(得分:2)
你设置了jquery标签
所以使用jquery你可以试试这样的东西
$("#field").keydown(function(e){
if(e.keyCode === 13)
{
// enter event
}
});
答案 1 :(得分:2)
当用户按Enter键时,您可以使用Panel.DefaultButton属性自动点击按钮。
例如:
<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"
。
答案 2 :(得分:1)
使用keydown事件:
textBox.Attributes.Add("onKeyDown", "KeyDownHandler()");
让KeyDownHandler()
检查按下的键,如果正确,请提交周围的表单或调用AJAX请求。请参阅Javascript Char Codes上的键盘代码。
或者,可以将文本框ID从.aspx
注入到jQuery中,并分配一个直接的keydown处理程序:
$('#<%=textBox.clientID%>').keydown(function (e) { /* Do server request; */ });
答案 3 :(得分:0)
您可以调用此Javascript函数来检查是否已按下回车键。
function checkEnterKeyPress(e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if (key == 13){
alert(key);
}
}