Balwant Kumar Singh
Balwant Kumar Singh

Reputation: 1178

JavaScript - How to enable arrow key in Firefox browser while validating input fields against special characters

I'm validating my input field using key code to enter (a-z, A-Z, _). The javascript code looks something like this:

function checkForSpecialCharacters(event) {
var keycode;

keycode = event.keyCode ? event.keyCode : event.which;

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
        || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

    return true;

}

else {

    return false;

}
return true;

}

This works pretty fine in Chrome, IEs, but in firefox it prevents arrow key also.

I've gone through What are the ascii values of up down left right?. But In my case I need to prevent to enter all the special characters in input field.
The give solution in the above link does not fulfill my requirement.

Kindly reply with your positive response.

Thanks.

Upvotes: 0

Views: 507

Answers (1)

Balwant Kumar Singh
Balwant Kumar Singh

Reputation: 1178

Got the solution of this problem. Just use event.which. Here which is a property of the event object. It contains the key code of the key which was pressed to trigger the event (eg: keydown, keyup etc.).

So just get the value fo the key pressed using event.which and check in if condition.

In my case in Firefox browser I was getting 0 for arrow keys. so I just added on more or condition like:

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
 || (event.which == 0)  || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

return true;}

Hope it will help other pal.

Thanks

Upvotes: 2

Related Questions