Javascript事件按键检查Char Code

时间:2012-03-21 09:34:39

标签: javascript javascript-events character-encoding ascii keypress

声明:我有一个输入字段。用户只输入其中的数字。允许的最大值为500。 因此,如果用户尝试键入大于500的值,则他应该无法键入值。

例如。 1.如果用户试图输入600或700,则会出现最大值为5。 2.数字和单位地点如果用户输入5作为第一个数字(数百个地方),则最大值将为0

PS:用户仅输入数字的处理已使用以下代码段完成

     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;
       };

1 个答案:

答案 0 :(得分:2)

据我所知,你可以使用onchange而不是keypress:

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