2017-06-01 117 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庫,然後把下面的代碼 –