Leonidas
Leonidas

Reputation: 21

event.keycode on Javascript

I'm working with a web page containing a form with a textarea element. I want to restrict the input values to only numbers, using JavaScript. One method I have found is to check the keyvalues when users are entering data:

function checkForEnter() {
if (!((event.keyCode >= 48) || (event.keyCode <= 57))) {                            
//event.stopPropagation(); throw error with IE ver 8
event.cancelBubble = true;
event.returnValue = false;
return false;
                    
  }
}

What other method could I use to restrict the values entered?

Upvotes: 0

Views: 3600

Answers (3)

Leonidas
Leonidas

Reputation: 21

Thanks for your help

this solution works for me

The inputext has attach two events to the same function(checkForEnter ) , onkeypress and onkeydown

both cases I validate ONLY numbers

no more bla , bla bla,

function checkForEnter() { 
if (event.keyCode == 13) {

var txt = event.srcElement;      

                    }
//that was my problem
//var chCode = ('charCode' in event) ? event.which : event.keyCode;

//that was my solution
var chCode = event.keyCode; 


                    if (chCode != 8 || chCode != 46) {

//alphanumeric keyboard
                        if (chCode >= 48) {
                            if (chCode <= 57) {
                            }
                            else {
//numeric keyboard
if (chCode > 95 && chCode < 106) {
                                } else {
                                    event.cancelBubble = true;
                                    event.returnValue = false;
                                    return false;
                                }
                            }
                        }
if (chCode == 32) {
   event.cancelBubble = true;
event.returnValue = false;
return false;
}        
}                                      
}

ps. I cannot

I can not make multiple comparisons in javascript

: (

for that reason use if .. if .. if

Upvotes: 1

Asad Saeeduddin
Asad Saeeduddin

Reputation: 46628

Your function is missing an event parameter, so invoking methods of an undefined variable naturally results in an error. Try:

function checkForEnter(event) {
    ...
}

Upvotes: 0

apsillers
apsillers

Reputation: 115910

You want event.preventDefault(), not event.stopPropagation(). preventDefault stops the default behavior of the key press event (i.e., adding a character into the text field).

Upvotes: 0

Related Questions