其实是有两种做法的,第一种,当输入框状态改变的时候,即change事件时,将内容取出来,将所有的非数字字符,全替换为空,但这样挺别扭的,你一输入其它的,显示出来了,马上就消失了。第二种,就是以下的做法,监听键盘事件,如果不是数字键(分为两排,字母上面的一排与右边的数字键)则拦截掉该次按下事件,但也有弊端,就是粘贴的时候也还是会粘进来一些字符,或用鼠标拖拉文字,所以在提交时,需要做下判断,还有就是它除了数字键,其它的也给禁用了,包括删除键。。。
$(function() {
$('#save').button().click(function() { $('#AdvertForm').submit(); }); $('#cancel').button().click(function() { history.back(); }); $("#delayTime").keydown = keydown($("#delayTime")); $("#playCount").keydown = keydown($("#playCount")); }); function keydown(doc){ //doc为元素名称
$(doc).keydown(function(evt){ var kc = evt.keyCode; var array = new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105); var flag = true; for(var i = 0;i < array.length && flag; i++){ if(kc == array[i]){ flag = false; } } if(flag){ evt.keyCode = 0; evt.returnValue=false; return false; } }); }