我有五个文本框,其顺序与下面提到的ID相同
txtFirstName
txtLastName
txtEmailAddress
txt电话代码
txtTelephoneNumber
我想要电话号码的标签功能(txtTelcode和txtTelephoneNumber)。
文本框txtTelcode的最大长度为5。以下是所需的功能。
当用户填写txtTelcode时,输入5位数字后,标签页应自动移至下一个文本框txtTelephoneNumber。
我使用了下面的代码,效果很好,但是我遇到了一个问题。
$(document).ready(function () {
$('#' + telcode).keyup(function () {
if ($.trim($('#' + telcode).val()).length == "5") {
$('#' + txtTelephoneNumber).focus();
}
});
});
问题是,如果txtTelcode中已经有5位数字,则当用户将其切换到txtTelcode中时,此功能会自动将其前进到txtTelephoneNumber而不停止txtTelcode。这不是我想发生的事情;相反,即使完成,我也需要能够进入txtTelcode。如何修改我的代码以解决此问题,或者如何实现此目的?
最佳答案
我修改了自己的代码,如下所述。如果通过获取e.keyCode按下Tab键,我阻止了我的代码运行。
对于shift + Tab功能,如果通过获取e.keyCode按下Shift键,我阻止了我的代码运行。
$('#' + telcode).keyup(function (e) {
if (e.keyCode != 16) {
if (e.keyCode != 9) {
if ($.trim($('#' + telcode).val()).length == "5") {
$('#' + txtTelephoneNumber).focus();
}
}
}
});
这段代码工作正常。
关于jquery - 自动前进到HTML表单中的下一个字段,而无需更改选项卡的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10172058/