0

How to allow only numbers to get filled into input ref with class name using javascript ?

I test my code but not work ,

thank you for help.

<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>

<script language="JavaScript" type="text/javascript">
function input_format()
{
    $(.number).val($(.number).val().replace(/[^\d].+/, ""));
    if ((event.which < 48 || event.which > 57)) {
        event.preventDefault();
    }
}
</script>

<input type="text" id="number" class="number" name="number" onkeypress="input_format()" onblur="input_format()">    
devnull69
  • 16,402
  • 8
  • 50
  • 61

2 Answers2

1

Try it !

   function numberOnly(event){
      var chCode = (event.charCode === undefined) ? event.keyCode : event.charCode;
      if (chCode > 31 && (chCode < 48 || chCode > 57))
       return false;
      else
       return true;
     }
    <input type="text" id="number" class="number" name="number" onkeypress="return numberOnly(event);"> 
Suchit kumar
  • 11,809
  • 3
  • 22
  • 44
InOrderToLive
  • 186
  • 1
  • 1
  • 9
0

There are 2 problems with your code.

you need to pass the event as an argument

onkeypress="input_format(event)"

Then your function will be look like

function input_format(event)
{

Also you need to wrap the classsname with quotes like this

$(".number").

Your final code will look like

function input_format(event) {
    $(".number").val($(".number").val().replace(/[^\d].+/, ""));
    if ((event.which < 48 || event.which > 57)) {
        event.preventDefault();
    }
}

Working fiddle

Anoop Joshi P
  • 25,373
  • 8
  • 32
  • 53