Javascript 在Enter键上按文本框服务器端回发事件未被触发
我已经创建了一个带有文本框控件的网页,如下所示-Javascript 在Enter键上按文本框服务器端回发事件未被触发,javascript,asp.net,.net,Javascript,Asp.net,.net,我已经创建了一个带有文本框控件的网页,如下所示- <asp:TextBox ID="txtNumber" runat="server" size="5" MaxLength="9" AutoPostBack="True" OnTextChanged="txtNumber_TextChanged" CssClass="txtBoxPage" Style="margin-left: 3px;"></asp:TextBox> 在文本
<asp:TextBox ID="txtNumber" runat="server" size="5" MaxLength="9" AutoPostBack="True"
OnTextChanged="txtNumber_TextChanged" CssClass="txtBoxPage" Style="margin-left: 3px;"></asp:TextBox>
在文本框中按enter键时,我遇到了一个问题。按Enter键时未发生回发。你们能给我提供帮助吗?这样在按下回车键的时候,页面就会被发回,文本框服务器端就会被烧掉
我调试了代码,发现按下ENTER键时WebForm_TextBoxKeyHandler返回false。下面是呈现的代码供参考-
<input type="text" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" onchange="javascript:setTimeout('__doPostBack(\'textbox1\',\'\')', 0)" ... />
提前感谢。尝试以下解决方法-
//Page_Load method
txtNumber.Attributes.Add("onkeyup", "OnKeyUp(event);");
//JavaScript code
function OnKeyUp(event) {
var key = (event.keyCode) ? event.keyCode : event.which;
if (key != null) {
key = parseInt(key, 10);
if (key == 13) {
document.body.setActive();
document.body.focus();
window.event.srcElement.focus();
}
}
}
当焦点丢失并从文本框中恢复时,上述代码将触发回发事件