我有以下asp.net文本框控件 .
<asp:TextBox ID="txtAdd" runat="server" />
用户在此文本框中写入内容并按ENTER键后,我想从代码隐藏运行一些代码 .
我该怎么办?
使用jQuery我捕获了ENTER键并触发了一些隐藏的按钮事件
$(document).ready(function(){
$(window).keydown(function(e){
if(e.keyCode == 13) $('#<% addbtn.ClientID %>'.click();
});
});
有没有更好的方法?
10 回答
ASPX:
JS:
CS:
将文本框包装在
asp:Panel
标记内隐藏具有执行所需操作的单击事件的按钮,并为
<asp:panel>
aDefaultButton
属性提供隐藏按钮的ID .您可以将文本框和按钮包装在ASP:Panel中,并将Panel的DefaultButton属性设置为Submit按钮的Id .
现在,无论何时焦点都在Panel中,按下enter键时将触发'SubmitButton_Click'事件 .
ahaliav fox 's answer is correct, however there'是一个小编码问题 .
更改
至
它区分大小写 . Control.UniqueID Property
注:我在
AutoPostBack
之前尝试了TextChanged
事件,然后才开始寻找答案,虽然它几乎是正确的,但它并没有给出我想要的结果,也没有提出问题 . 它会在失去焦点Textbox
时触发,而不是在按下返回键时 .Text Element:
Javascript behind:
尝试遵循:Aspx:
JS:
试试这个选项 .
在捕获IsPostback之前更新Page_Load事件中的编码部分
和js:
我的2c ..我使用过javascript,但发现它做了一些不太令人期待的事情 .
使用面板的defaultButton属性/属性,就像上面提到的许多帖子一样 . 它是可靠的(简单),适用于我测试过的所有浏览器 .