一个输入框输入两位数字 直接跳转到下一个输入框 求大神解答

eddy_liu123 2017-08-03 10:56:58
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" tabindex="1" onkeydown="tabNext(this)" > :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeydown="tabNext(this)" tabindex="2" > :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeydown="tabNext(this)" tabindex="3" > :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeydown="tabNext(this)" tabindex="4" > :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeydown="tabNext(this)" tabindex="5" > :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeydown="tabNext(this)" tabindex="6" >



function tabNext(obj){
//......
var tabIndex = obj.tabindex + 1;
$("[tabindex='"+tabIndex+"']").focus()
}


这样写不对吗
...全文
266 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eddy_liu123 2017-08-03
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
- - [quote=引用 3 楼 liuhuafeng123456 的回复:] 我这直接就跳了什么鬼 有办法解决吗
你判断了长度没有先,而且改为onkeyup事件,不是keydown


<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" tabindex="1" onkeyup="tabNext(this)"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="2"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="3"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="4"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="5"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="6">
<script>
    function tabNext(obj) {
        if (obj.value.length >=2) {
            var tabIndex = parseInt(obj.getAttribute('tabindex')) + 1;
            $("[tabindex='" + tabIndex + "']").focus()
        }
    }
</script>
[/quote] 可以啦 非常感谢
  • 打赏
  • 举报
回复
- -
引用 3 楼 liuhuafeng123456 的回复:
我这直接就跳了什么鬼 有办法解决吗
你判断了长度没有先,而且改为onkeyup事件,不是keydown


<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" tabindex="1" onkeyup="tabNext(this)"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="2"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="3"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="4"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="5"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2" onkeyup="tabNext(this)" tabindex="6">
<script>
    function tabNext(obj) {
        if (obj.value.length >=2) {
            var tabIndex = parseInt(obj.getAttribute('tabindex')) + 1;
            $("[tabindex='" + tabIndex + "']").focus()
        }
    }
</script>
jio可 2017-08-03
  • 打赏
  • 举报
回复
<script src="js/jquery.min.js"></script>
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2">:
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2">:
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2"> :
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2">:
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2">:
<input name="MAC" type="text" style="width: 19px" class="inputxt" maxlength="2" datatype="s2-2">
<script>
	$('input').on('keyup', function(){
		var val = $(this).val();
		if(val.length === 2 && !isNaN(val)){
			$(this).next('.inputxt').focus();
		}else{
			console.log("error");
		}
	});
</script>
引入jq
eddy_liu123 2017-08-03
  • 打赏
  • 举报
回复
我这直接就跳了什么鬼 有办法解决吗
jio可 2017-08-03
  • 打赏
  • 举报
回复
用keyup事件判断输入的是否是梳子,然后找到下一个input用focus获取焦点
  • 打赏
  • 举报
回复
自定义属性用getAttribute并且要转为数字,否则字符串连接id当然不对 var tabIndex = parseInt(obj.getAttribute('tabindex')) + 1; $("[tabindex='" + tabIndex + "']").focus()

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧