将下一个/上一个输入集中在达到最大长度或退格键上
Focus next/prev input on maxlength reached or backspace keypress
我见过HTML表单,其中光标自动从一个输入字段移动到另一个输入字段,并使用退格键移动到上一个字段。在需要粘贴跨多个输入字段的序列号时,或者键入或粘贴在多个字段输入中获取的数字时,它非常有用。
$(document).ready(function() {
$('.Box').on("keyup", function(e) {
var Length = $(this).attr("maxlength");
if ($(this).val().length >= parseInt(Length)) {
$(this).removeClass("productkey1").addClass("productkey2");
$(this).next('.Box').focus();
}
});
});
$(document).ready(function() {
$('.Box').on("keydown", function(e) {
var Length = $(this).attr("maxlength");
if ($(this).val().length > parseInt(Length)) {
$(this).removeClass("productkey2").addClass("productkey1");
$(this).prev('.Box').focus();
}
});
});
.Box:focus {
border: thin solid #FFD633;
-webkit-box-shadow: 0px 0px 3px #F7BB2E;
-moz-box-shadow: 0px 0px 3px #F7BB2E;
box-shadow: 0px 0px 3px #F7BB2E;
}
.Box {
height: 15px;
width: 4%;
text-align: justify;
letter-spacing: 5px;
padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div>
<sapn>Enter Key Code :</sapn>
<input class="Box productkey1" style="width: 35px;" type="password" name="number1" maxlength="1">
<input class="Box productkey1" style="width: 35px;" type="password" name="number2" maxlength="1">
<input class="Box productkey1" style="width: 35px;" type="password" name="number3" maxlength="1">
<input class="Box productkey1" style="width: 35px;" type="password" name="number4" maxlength="1">
</div>
您可以通过在按下退格键时检查当前输入中文本的length
是否为零来实现此目的:
$(document).ready(function() {
$('.Box').on("keyup", function(e) {
var $input = $(this);
if ($input.val().length == 0 && e.which == 8) {
$input.toggleClass("productkey2 productkey1").prev('.Box').focus();
}
else if ($input.val().length >= parseInt($input.attr("maxlength"), 10)) {
$input.toggleClass("productkey1 productkey2").next('.Box').focus();
}
});
});
.Box:focus {
border: thin solid #FFD633;
-webkit-box-shadow: 0px 0px 3px #F7BB2E;
-moz-box-shadow: 0px 0px 3px #F7BB2E;
box-shadow: 0px 0px 3px #F7BB2E;
}
.Box {
height: 15px;
width: 50px;
text-align: justify;
letter-spacing: 5px;
/*CSS letter-spacing Property*/
padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div>
<sapn>Enter Key Code :</sapn>
<input class="Box productkey1" type="password" name="number1" maxlength="4">
<input class="Box productkey1" type="password" name="number2" maxlength="4">
<input class="Box productkey1" type="password" name="number3" maxlength="4">
<input class="Box productkey1" type="password" name="number4" maxlength="4">
</div>
另请注意,我将on()
逻辑整理到单个事件处理程序中,并使用toggleClass()
在单个调用中修改这两个类。
相关文章:
- 如何在猫头鹰旋转木马中滑动所有可见项目,而不是使用上一个/下一个按钮
- JQuery,引导导航 - 如何添加上一个/下一个按钮
- 如何在cycle2.js中悬停img时同时显示上一个/下一个按钮
- 如何移动到数组的上一个/下一个索引键
- iOS中的上一个/下一个按钮对于通过JavaScript隐藏/显示的输入被禁用
- 如何使用上一个/下一个功能循环数组中的图像
- jQuery 循环 如果只有一张幻灯片,则隐藏上一个/下一个导航
- 单击上一个/下一个按钮时,我想突出显示下一个或上一个图像
- 带有上一个/下一个的jquery自动滑块
- HTML5视频上一个 - 下一个和自动播放
- 如何在同一页面上使用下一个和上一个按钮更改内容
- 如何使用上一个/下一个按钮循环浏览图像
- 如何获取上一个/下一个非禁用选项的索引(相对于所选选项)
- JQuery:日期选择器:只有最后一个字段具有上一个/下一个按钮
- jQuery - 在滑块中显示/隐藏上一个/下一个按钮
- 具有上一个/下一个按钮的固定宽度和高度的文本容器
- 如何使用vanilla Javascript识别无序和/或嵌套列表序列中的上一个/下一个链接
- 如何使用angularjs或javascript添加上一个/下一个选项
- 数组中的上一个/下一个项目
- Javascript-幻灯片上的下一个/上一个按钮-新孩子需要帮助