0

声明:我有一个输入字段。用户仅输入Numbers.Max允许的值为500.因此,如果用户尝试输入大于500的值,他将不能输入价值。用于Char代码的Javascript事件按键检查

例如。 1.如果用户试图输入600或700,百位最大值将为5. 2.如果用户键入5作为第一位数(百位),则最大值将为0

PS:The处理用户只输入数字做已经在使用下面的代码片段

 function isNumberKey(evt){ 
    var charCode = (evt.which) ? evt.which : event.keyCode; 
      if (charCode > 31 && (charCode < 48 || charCode > 57)) 
        return false; 
        return true; 
       }; 

修正了问题:

 function isNumberKey(evt){ 

     var charCode = (evt.which) ? evt.which : event.keyCode; 
     if (charCode > 31 && (charCode < 48 || charCode > 57)) 
      return false; 

     if(!(charCode > 31 && (charCode < 48 || charCode > 57)) && charCode != 8){ 
      if($(evt.currentTarget).value.length == 3){ 
         return false; 
      } 
     if($(evt.currentTarget).value.length == 2){ 
     if($(evt.currentTarget).value.substring(0,1) > 5){ 
        return false; 
     }else if($(evt.currentTarget).value.substring(0,1) == 5 && $(evt.currentTarget).value.substring(1,2) > 0){ 
     return false; 
      } 
      } 
     } 
      return true; 
     }; 

回答

2

据我所知,您可以改用按键的平变化:

$('#textbox').change(function(){ 
    elem = $(this); 
    if(parseInt(elem.val()) > 500) 
     elem.val('500'); 
}); 
+1

或者,只删除元素值的最后一位数字。 – 2012-03-21 09:44:11

+0

是的,作为一个选项。 – 2012-03-21 09:49:03

+0

有没有一种方法,我不允许用户输入该值,使得值超过500 – Zohaib 2012-03-21 09:51:47