我创建了一个带有文本框控件的网页,如下所示 -
<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 Key Press上,页面应该回发,文本框服务器端会被点燃。
我调试了代码,发现当按下ENTER键时WebForm_TextBoxKeyHandler返回false。下面是呈现的代码 -
<input type="text" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" onchange="javascript:setTimeout('__doPostBack(\'textbox1\',\'\')', 0)" ... />
提前致谢。
答案 0 :(得分:2)
尝试以下解决方法 -
//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();
}
}
}
上面的代码将触发PostBack事件,因为焦点正在从文本框中丢失并重新获得。