javascript - 如何在输入字段上使用退格键删除字符
问题描述
我试图制作一个适用于移动设备和网络 Chrome 浏览器的输入元素。Onkeypress 适用于 Web Chrome,但不适用于移动 Chrome 浏览器。所以我使用了对两者都有效的oninput。
在输入值超过 5 后,我通过 oninput 事件将一个 char 说“-”连接到输入值。添加“-”后,退格键或删除键不起作用。此外,如果光标在字符串之间移动并删除“-”以外的字符,它会移动到字符串的末尾。
请在下面找到我的代码。
HTML
<input type="text" id="inputcheck" value='' oninput="getmeValidated(this, event);">
JAVASCRIPT
function getmeValidated(element, event){
if(element.value.length > 5){
element.value = element.value+"-";
}
}
解决方案
退格正在工作,但是当您-
添加退格时,length
它已经大于5
所以它会删除最后一个并-
根据您的情况添加新的。您应该Boolean
检查是否-
已添加
let added = false;
function getmeValidated(element, event){
if(element.value.length === 5 && !added){
element.value = element.value+"-";
added = true;
}
if(element.value.length < 5) added = false;
}
<input type="text" id="inputcheck" value='' oninput="getmeValidated(this, event);">
推荐阅读
- https - 我能否确定是否是我的 SSL 证书阻止了 JSON API 响应
- javascript - 当表单提交按钮在父组件中时,如何将子组件中的数据获取到父组件中?
- javascript - 如何使用 M/D/YYYY 格式编写带有日期条件的查找查询并存储为字符串
- onem2m - M2MServiceSubscriptionProfile Development in oneM2M
- php - CakePHP:如何增加超时会话?
- php - 如何在输出前处理帖子并将其导出为 CSV?
- wordpress - 如何为 WooCommerce 中的每个订单项目添加新的元项目?
- oracle - Kafka JDBC源不显示数值
- sql - 应用条件逻辑
- javascript - 使用带有多个页面的 Vue-cli,我如何路由到应用程序内的页面