2016-07-31 41 views
0

我的下面我的javascript函数有问题。目前,该功能限制了可以在其中键入的字母。问题是:如果用户按退格键,该事件正被过滤掉。我如何接受Backspace键?文本框正在过滤退格键

<script type="text/javascript"> 
 
    function verifABC(evt) { 
 
     var keyCode = evt.which ? evt.which : evt.keyCode; 
 
     var accept = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
 
     if (accept.indexOf(String.fromCharCode(keyCode)) >= 0) { 
 
      return true; 
 
     } else { 
 
      return false; 
 
      
 
     } 
 
    } 
 
</script>
<input type="date" name="dateEnf" class="form-control" maxlength="30" onkeypress="return verifABC(event);" id="datepicker" placeholder="">

+0

欢迎来到Stack Overflow!学习[问]和[mcve]。这只是一个5分钟的阅读,并会节省你的时间。我们想要帮助,但我们需要一些背景。请不要在“?”之间放置空格和最后一个字。另外,大写“我”。我们在这里高度重视正确的拼写。 –

回答

0

你应该先检查KeyboardEvent.key检查.which.keyCode之前,作为最后两名赞成已被弃用的.key

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which

钍因为浏览器在返回的代码中可能会有所不同,所以不推荐使用。 .key的文档有助于列出一些键值,包括退格键的值,以便应该回答您的问题以及其他几个问题。