应用场景
有很多input框需要用户填写,需要做到当用户填写完其中一个,自动跳到下一个不为空的input框里,比如一些登录页面或者表单的填写。同理可以扩展到很多自动跳转的标签上,但是这里只展示input的写法
代码实现
// 遍历所有的input判断是否为空
handleJudgeInput () {
let inputRoute = document.getElementById('inputroute')
let input = inputRoute.getElementsByTagName('input')
// console.log(input)
for (let i = 0; i < input.length; i++) {
// console.log(input[i].value)
if (input[i].value === '') {
// console.log(i, input[i])
// 获取焦点
this.$nextTick(() => {
input[i].focus()
})
return false
} else if (i === input.length - 1) {
// 所有input框已经填完
} else {
continue
}
}
},
实现思路
我将所有的input框写在一个id为inputroute的div里,因此我首先获取到这个div,再获取里面所有的input标签,getElementsByTagName返回的是一个数组,然后遍历数组,如果input的value属性为空,则用focus方法让其获取焦点。