javascript - Keydown function to prevent letters - How to load function before key is entered -


i've taken code snippet different closed post, works well, apart 1 aspect.

  1. i have input field need numeric only
  2. i need allow use of full stop
  3. the code below works fantastically in allowing above happen
  4. the issue function isn't called until has been entered input field
  5. unfortunately, means special character or letter can entered, triggers function run

is there way ensure function run special characters , letters prevented? (apart full stop , numbers)

it's worth noting, i'm working in ie8.

function numbervalidation(){   $("#txtboxtofilter").keydown(function (e) {         // allow: backspace, delete, tab, escape, enter , .     if ($.inarray(e.keycode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||          // allow: ctrl+a         (e.keycode == 65 && e.ctrlkey === true) ||          // allow: ctrl+c         (e.keycode == 67 && e.ctrlkey === true) ||          // allow: ctrl+x         (e.keycode == 88 && e.ctrlkey === true) ||          // allow: home, end, left, right         (e.keycode >= 35 && e.keycode <= 39)) {              // let happen, don't              return;     }     // ensure number , stop keypress     if ((e.shiftkey || (e.keycode < 48 || e.keycode > 57)) && (e.keycode < 96 || e.keycode > 105)) {         e.preventdefault();     } }); 

}

you not calling function! either call on $(document).ready() this:

$(document).ready(function(){    numbervalidation(); }); 

or, give in $(document).ready() instead:

$(document).ready(function () {   $("#txtboxtofilter").keydown(function (e) {     // allow: backspace, delete, tab, escape, enter , .   }); }); 

snippet

$(document).ready(function () {    $("#txtboxtofilter").keydown(function (e) {      // allow: backspace, delete, tab, escape, enter , .      if ($.inarray(e.keycode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||          // allow: ctrl+a          (e.keycode == 65 && e.ctrlkey === true) ||          // allow: ctrl+c          (e.keycode == 67 && e.ctrlkey === true) ||          // allow: ctrl+x          (e.keycode == 88 && e.ctrlkey === true) ||          // allow: home, end, left, right          (e.keycode >= 35 && e.keycode <= 39)) {        // let happen, don't        return;      }      // ensure number , stop keypress      if ((e.shiftkey || (e.keycode < 48 || e.keycode > 57)) && (e.keycode < 96 || e.keycode > 105)) {        e.preventdefault();      }    });  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>  <input id="txtboxtofilter" type="text" />


Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

c# - Exception when attempting to modify Dictionary -