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.
- i have input field need numeric only
- i need allow use of full stop
- the code below works fantastically in allowing above happen
- the issue function isn't called until has been entered input field
- 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
Post a Comment