Ramka jest filtrowanie klawisz Backspace

głosy
0

Mam problem z moim funkcji javascript poniżej. Obecnie funkcja ogranicza litery, które mogą być wpisane w niego. Problemem jest to: Jeśli użytkownik naciśnie Backspace, że zdarzenie jest filtrowane. Jak mogę zaakceptować Backspaceklucz?

<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=>

Utwórz 31/07/2016 o 00:47
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Należy najpierw sprawdzić na KeyboardEvent.keyprzed sprawdzeniem .whichczy .keyCode, jak dwa ostatnie są przestarzałe na rzecz .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

Są one przestarzałe właśnie dlatego przeglądarki mogą się różnić w kodach wrócą. Dokumentacja dla .keyusłużnie wymienia szereg wartości podstawowych, w tym jeden dla Backspace, tak że powinien odpowiedzieć na to pytanie i wiele innych oprócz.

Odpowiedział 31/07/2016 o 00:56
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more