0

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?

1
  • Check this post out Commented Jan 4, 2013 at 16:11

3 Answers 3

1

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

Sign up to request clarification or add additional context in comments.

Comments

0

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).

Comments

0

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

function checkForEnter(event) {
    ...
}

1 Comment

I assume the OP is using attachEvent in IE-specific code, which uses a global event property. That said, this is still a good suggestion for cross-browser support.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.