javascript - 输入数据到下一个输入时怎么办?
问题描述
将数据输入到下一个输入时怎么办,如果我删除数据,它会返回到输入?
<input id="first" maxlength="1" value="">
<input id="second" maxlength="1" value="">
<input id="third" maxlength="1" value="">
解决方案
专注于第一个空输入很容易,但是当输入清空时自动向后移动感觉违反直觉......如果需要,您可以添加一个 keyup 处理程序来查看用户是否在空输入中输入退格键;如果是,请将焦点移回。
也就是说,使用三个输入框而不是一个输入框的原因是什么?:)
const inputs = document.querySelectorAll(".input-grouped");
function alwaysFocusFirstEmptyInput(event) {
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].value === "") {
inputs[i].focus();
break;
}
}
}
[...inputs].forEach((input) => {
input.addEventListener("input", alwaysFocusFirstEmptyInput, null);
});
<input class="input-grouped" id="first" maxlength="1" value="">
<input class="input-grouped" id="second" maxlength="1" value="">
<input class="input-grouped" id="third" maxlength="1" value="">
推荐阅读
- windows - Cmd 可以确定 .exe 或其他文件类型的路径位置吗?
- tensorflow - tf.loadFrozenModel 和 tf.loadModel 会有不同的预测时间吗?
- spring-4 - **java.lang.OutOfMemoryError: Java heap space with Spring 4, Hibernate 4, My Sql connector 8.1 and tomcat 8.5** when using **My SQL 5.7.23*
- java - 我想从数据库中检索图像并将其显示在 jsp 页面中
- amazon-web-services - Amazon AWS SES/SNS:退回通知不包含标头
- mysql - 如何为一个表“单元格”MySQL选择多个值
- r - 在 rbind() 到字符 df 之后丢失 df 类类型?
- javascript - 拆分 CSS 中给出的背景图像属性字符串
- amazon-mws - 亚马逊 MWS - 请求被限制
- reactjs - 反应原生如何将 this.state 传递给 tabBarComponent