2017-06-01 119 views
0

我有一个注册表格在html中,我想输入电话号码在textbox和非数字字符将不会显示,而单击非数字键时。在这里,我正在使用jQuery来达到这个目的,但是我无法得到正确的结果。jquery函数不工作在codeigniter

<div class="form-group col-sm-3"> 
    <label>Mobile No<sup style="color:#ff0000;font-size:16px;">*</sup></label> 
    <input name="mobileno" type="text" id="mobileno" class="form-control" maxlength="10">        
</div> 

在这个网站已指定id属性为mobileno和我的jQuery是

< script type = "text/javascript" > 
    $(document).ready(function() { 
     $('#mobileno').keydown(function(e) { 
      if (e.shiftKey || e.ctrlKey || e.altKey) { 
       e.preventDefault(); 
      } else { 
       var key = e.keyCode; 
       var ret = ((key == 8) || (key == 9) || (key == 46) || (key >= 35 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)) 
       if (!ret) { 
        e.preventDefault(); 
       } 
       $(".error").css("display", ret ? "none" : "inline"); 
      } 
     }); 
     $("#mobileno").bind("paste", function(e) { 
      return false; 
     }); 
     $("#mobileno").bind("drop", function(e) { 
      return false; 
     }); 
    }); 
< /script> 

但不能执行此功能...请帮我找一个solution..Thanks所有提前

+0

你VAR RET =后'错过了分号在JavaScript(。 ..(key> = 96 && key <= 105))'line。 – Alexander

+0

@ Alexander-谢谢......但我不能执行jquery函数keydown() – Aswathy

+0

这行已经放在'keydown()'处理程序中。有可能造成麻烦。 – Alexander

回答

0

只要使用下面的代码来防止非数字字符。

$("#mobileno").keydown(function (e) { 

    // Allow: backspace, delete, tab, escape, enter and . 
    if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || 
     // Allow: Ctrl+A, Command+A 
     (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
     // Allow: home, end, left, right, down, up 
     (e.keyCode >= 35 && e.keyCode <= 40)) { 
      // let it happen, don't do anything 
      return; 
    } 
    // Ensure that it is a number and stop the keypress 
    if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { 
     e.preventDefault(); 
    } 
}); 
+0

我已经尝试'number type'.But .. :( – Aswathy

0

试试这个,工作example

$(document).ready(function(){ 
    $('#mobileno').keydown(validateNumber); 
    $("#mobileno").bind("drop", function (e) { 
      return false; 
     }); 
     $("#mobileno").bind("paste", function (e) { 
      return false; 
     }); 
}); 

function validateNumber(e) { 
    if (e.shiftKey || e.ctrlKey || e.altKey) { 
     e.preventDefault(); 
    } 
    else { 
    var key = e.keyCode; 
    var ret = ((key == 8) ||(key == 9) || (key == 46) || (key >= 35 && key  <=  40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)) 
    if(!ret) { 
     e.preventDefault(); 
    } 
    } 
} 
+0

@ Fahadsk:谢谢..但是这个代码不工作在我的代码点火器代码 – Aswathy

0

利用这一点,将禁止所有非数值

$(document).ready(function() { 
      //function to validte phone number 
      $('#mobileno').keypress(function(event){ 
       if(event.which != 8 && isNaN(String.fromCharCode(event.which))){ 
        event.preventDefault(); //stop character from entering input 
       } 
      }); 
+0

谢谢..但$(document).ready(function(){}不是工作...... :( – Aswathy

+0

首先包括jquery库,然后把下面的代码 –