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

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()
}


这样写不对吗
...全文
274 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()
有时我们只需要在自己网页中加入个扫一扫并且获取结果的小小功能就行,然而微信开发门槛太高,需要公众号需要交300块认证,然后域名还要备案,公众号后台需要各种配置,需要调用微信开发各个接口,最后可能并不会看到效果。 现在我要告诉你,你有救了!你只要简单使用上面提供的接口就行,什么论七八糟的统统都不用管了,只需要关注你的程序怎么处理这些数据。 不过任何事情都是相对的,本帖提供的方法缺点也是有的,就是多一次跳转,而大家都知道页面跳转那么当前输入等控件内容都会丢失。不用担心,问题总是有方案解决的。 如果你只需要扫描下获取结果再处理,那么不用管这多跳转一次的问题。 如果你是在一个表单中某项需要扫描,那么可以把扫描的那项提到最前面来,强制要用户必须先扫描才能填写表单其他项,这样问题不 就迎刃而解了? 如果要追完美扫描不跳转,那么只能一步步按照微信网页开发的要来了。 大家都知道微信扫一扫,而且很常用,基本都用来扫码关注微信号,扫码付款,再之外的如果要扫的二维码是链接就直接打开访问,非链接的直接显示文字。 然而有时我们需要在自己的网页上调用扫一扫,然后按照自己的需要对获得结果进行处理该怎么办呢?有些同学觉得很奇怪,怎么会有这样的需。其实这样的使用场景很多的,例如: 扫快递单上的条形码查询它的进度 进度系统中可以根据生产单上条形码查询生产进度 发货系统出入库扫描 扫描网址只需截取其中的一个参数结果而不是直接打开它 。。。 看下面的一个应用效果。 https://img2.mukewang.com/5b42068700012bbf02800560.jpg 是不是很方便呢?微信里打开http://www.jiujiujin.net/wuliu.htm 也可以测试效果。 如果按照通常的步骤在自己网页中调用微信的扫一扫可不是那么简单的。首先得有微信公众号,公众号还得提交认证。我们都知道不光是注册个微信公众服务号就行,而且还得提交认证,每年交300块大洋,前提还必须是企业身份才能注册和认证。 接下来才是编码,这才是考验你耐心的时刻,各种不行,各种莫名其妙的错误,有些新手可能在域名备案上就被卡了半天,因为想要调用微信的jssdk接口要访问的域名必须是备案的,设置到微信公众号的js安全域名区,然后还要设置服务器白名单,如果你的是虚拟主机而ip不固定的说不定哪天就扫不了了。调用几个接口,参数,token还有7200秒的失效,定时更新还是访问时检查判断再更新,是不是弄过的人都纠结过?很是麻烦,顿时头大了有么有?水不是一般的深,于是纷纷哭爹喊娘大神骂张小龙。 我发现我废话太多了,说好的5行代码呢?却写了这么多废话,哈哈哈。其实多了解了解也没坏处的,毕竟也算我的摸索过的心路历程。 上面给出的扫一扫指向的链接是:http://www.jiujiujin.net/wuliu.htm,聪明的同学已经打开并右击查看源代码了,可能已经明白是怎么回事了。 答案就是调用了一个接口,这个接口会去执行扫码,然后将扫码的结果作为一个参数返回到来路页面,这样来路页面中就可以获取并处理这个结果了。 废话不多说放代码测试。
Cubic 是一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。 Cubic 的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。 Cubic 可调用内部自定义命令和动态加载arthas使用arthas 命令集。 因为很多公司使用监控需要进行定制化开发,Cubic 可作为一种技术参考,希望给大家带来些许启发。 技术体系:Spring Boot、Vue、Netty、Websocket、xterm等。 目录结构: agent-dist 存放打包的agent.jar(打包后出现) agent-proxy-dist 存放打包的proxy.jar(打包后出现) arthas-dist 用于支持arthas命令集 config agent配置文件 cubic-agent agent start cubic-core agent核心 cubic-proxy 代理应用,目前集成了简单的页面 cubic-ui 新版UI,持续开发中,欢迎大神来修bug,打包完 将dist目录数据拷贝到cubic-proxy resources/static下 docs 文档 scripts 包含打包脚本、启动脚本(用于测试) 使用说明: 1、agent 加载如下,将agent-dist整体拷贝到一个目录进行加载,里面的结构请不要进行变动,不要单独拷贝一个jar java -jar -javaagent:/xxx/agent-dist/cubic-agent.jar yyy.jar 2、启动代理服务 ,用于连接agent 和web java -jar cubic-proxy.jar 3、访问web ui localhost:6080 正常启动后会有数据上报到服务端,可在首页进行查看,点击唯一标识跳转到命令模式--点击connect 进入可进行重新连接。 4、命令分为两部分,输入1 基础命令, 3位arthas 命令,输入1 然后输入help 可查看帮助。 5、也可以直接进入命令模式,使用search 命令来查询我们项目配置的agent, 比如在agent config 我们配置了参数 agent.service_name = cubic,则进行查询并获取到应用的agentId(如果使用quick_start启动的,因为增加了-Dcubic.agent.service_name=cubic-proxy ,所以我们可以使用cubic-proxy查询ID )。 6、然后将agentId 填入上面的输入 点击connect 按钮重新加载,则进入当前应用的命令模式,输入3,切换到arthas 命令,就可以使用了。   Cubic java应用诊断工具 更新日志: v1.4.1 deature: 1、线程池监控 2、protobuf协议的支持 3、依赖冲突预警 4、线程池命令下发 bugfix: 1、修复页面固定IP导致的数据流发送问题 2、修复linux-tools加载问题
网页中实现微信扫一扫,不用备案就能在自己网页中实现扫描二维码 有时我们只需要在自己网页中加入个扫一扫并且获取结果的小小功能就行,然而微信开发门槛太高,需要公众号需要交300块认证,然后域名还要备案,公众号后台需要各种配置,需要调用微信开发各个接口,最后可能并不会看到效果。 现在我要告诉你,你有救了!你只要简单使用上面提供的接口就行,什么论七八糟的统统都不用管了,只需要关注你的程序怎么处理这些数据。 不过任何事情都是相对的,本帖提供的方法缺点也是有的,就是多一次跳转,而大家都知道页面跳转那么当前输入等控件内容都会丢失。不用担心,问题总是有方案解决的。 如果你只需要扫描下获取结果再处理,那么不用管这多跳转一次的问题。 如果你是在一个表单中某项需要扫描,那 么可以把扫描的那项提到最前面来,强制要用户必须先扫描才能填写表单其他项,这样问题不 就迎刃而解了? 如果要追完美扫描不跳转,那么只能一步步按照微信网页开发的要来了。 大家都知道微信扫一扫,而且很常用,基本都用来扫码关注微信号,扫码付款,再之外的如果要扫的二维码是链接就直接打开访问,非链接的直接显示文字。 然而有时我们需要在自己的网页上调用扫一扫,然后按照自己的需要对获得结果进行处理该怎么办呢?有些同学觉得很奇怪,怎么会有这样的需。其实这样的使用场景很多的,例如: 扫快递单上的条形码查询它的进度 进度系统中可以根据生产单上条形码查询生产进度 发货系统出入库扫描 扫描网址只需截取其中的一个参数结果而不是直接打开它 。。。 看下面的一个应用效果。 https://img2.mukewang.com/5b42068700012bbf02800560.jpg 是不是很方便呢?微信里打开http://www.jiujiujin.net/wuliu.htm 也可以测试效果。 如果按照通常的步骤在自己网页中调用微信的扫一扫可不是那么简单的。首先得有微信公众号,公众号还得提交认证。我们都知道不光是注册个微信公众服务号就行,而且还得提交认证,每年交300块大洋,前提还必须是企业身份才能注册和认证。 接下来才是编码,这才是考验你耐心的时刻,各种不行,各种莫名其妙的错误,有些新手可能在域名备案上就被卡了半天,因为想要调用微信的jssdk接口要访问的域名必须是备案的,设置到微信公众号的js安全域名区,然后还要设置服务器白名单,如果你的是虚拟主机而ip不固定的说不定哪天就扫不了了。调用几个接口,参数,token还有7200秒的失效,定时更新还是访问时检查判断再更新,是不是弄过的人都纠结过?很是麻烦,顿时头大了有么有?水不是一般的深,于是纷纷哭爹喊娘大神骂张小龙。 我发现我废话太多了,说好的5行代码呢?却写了这么多废话,哈哈哈。其实多了解了解也没坏处的,毕竟也算我的摸索过的心路历程。 上面给出的扫一扫指向的链接是:http://www.jiujiujin.net/wuliu.htm,聪明的同学已经打开并右击查看源代码了,可能已经明白是怎么回事了。 答案就是调用了一个接口,这个接口会去执行扫码,然后将扫码的结果作为一个参数返回到来路页面,这样来路页面中就可以获取并处理这个结果了。 废话不多说放代码测试。

87,994

社区成员

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

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