需求
UI 提供一张设计图,如下:

输入 6 位数字密码,每个 input 只能输入一个数字,每次输入完当前 input 框后自动跳转到下一个 input,输入完成后提交数据。

实现
布局 6 个 input 框,使用 keydown 事件监听删除操作,keyup 事件监听输入时操作,输入完当前 input 是否满足需求, 判断是否跳转到下一个 input。
html 代码部分:
1 | <div class="input-frame mb10 clearfix"> |
删除值时监听当前 input 值,和 上一个 input 值;如果当前 input 值为空,则鼠标光标跳转到上一个 input 框,并清除该 input 值。
输入值时,监听系统事件,当前 input 值,和下一个 input 值,输入完当前 input 值后,鼠标光标自动跳转到下一个 input。输入正确完整后提交数据到后端。
JS 代码部分:
1 | // ... |