关注具有属性TextMode=“”的文本框;MultiLine”;按enter键
本文关键字:MultiLine enter 文本 属性 TextMode | 更新日期: 2023-09-27 17:58:47
在ASP网站中,我想使用回车键在文本框之间导航,这样当我按下回车键时,焦点应该转到下一个文本框。
我所做的是在一个文本框中使用按键功能,如下所示
<asp:TextBox ID="Textbox1" runat="server" onkeypress="return EnterEvent(event);"></asp:TextBox>
在javascript中
function EnterEvent(e) {
if (e.keyCode == 13) {
document.getElementById("Textbox2").focus();
}
}
</script>
它运行良好。但如果Textbox2是一个多行文本框(如果我对asp文本框使用TextMode="multiline"),那么焦点将放在Textbox2上,但它将在文本框下面多放一行(焦点放在多行文本盒的第二行)。如何解决?
尝试使用此脚本通过控件进行回车键导航。。
<script type = "text/javascript" >
function pageLoad(sender, args) {
var inputs = $(':input,select').keydown(function (e) {
if (e.which == 13) {
if (e.target.id == '') {
return;
}
e.preventDefault();
var nextInput = inputs.get(inputs.index(this) + 1);
if (nextInput) {
nextInput.focus();
nextInput.select();
}
}
});
}
</script>
如果上面的脚本不适合您的情况,您可以尝试将onkeypress
更改为onkeydown
。。你可以使用take中的任何一种情况,而不是同时使用两种情况。。
<asp:TextBox ID="Textbox1" runat="server" onkeydown="return EnterEvent(event);"></asp:TextBox>
您可以通过参考下面的链接来理解keydown和keypress之间的区别。。
Keypress和keydown之间的区别。。。