首页 > 解决方案 > 如何在输入字段上使用退格键删除字符

问题描述

我试图制作一个适用于移动设备和网络 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+"-";
   }        
}

标签: javascript

解决方案


退格正在工作,但是当您-添加退格时,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);">


推荐阅读