Ikechukwu
Ikechukwu

Reputation: 1145

Need help restricting a js function(that restricts invalid chars) to a particular input type

Hi i would like to restrict a function that allows only, numbers, back space and left & right arrow keys to inputs with number type, because when i implement it, it also affects my text inputs.

<script>
    function chars(evt){
        var key = window.event ? event.keyCode : event.which;
        if (event.keyCode == 8 || event.keyCode == 46
            || event.keyCode == 37 || event.keyCode == 39) {
            return true;
        }
        else if ( key < 48 || key > 57 ) {
            return false;
        }
        else return true;
    }
</script>

Upvotes: 1

Views: 54

Answers (1)

user3589620
user3589620

Reputation:

Assign an id to your <input>. Add an event listener to it, like :

function getKeyCode() {
    var key = window.event ? event.keyCode : event.which;
    if(event.keyCode == 8 || event.keyCode == 46
        || event.keyCode == 37 || event.keyCode == 39) {
        console.log(true);
    	//return true;
    } else if (key < 48 || key > 57) {
        console.log(false);
        // return false;
    } else {
    	console.log(true);
    	// return true;
    }
}

var el = document.getElementById("myInput");
el.addEventListener("keypress", getKeyCode);
<input type="text" id="myInput">

Upvotes: 3

Related Questions