2014-02-07 68 views
0

我正在製作一部與科爾多瓦的移動應用程序。因此我的代碼需要與android和ios瀏覽器兼容如何獲得輸入類型號碼的價值

我需要將輸入的長度限制爲3位,但是我輸入的任何非數字字符都不起作用。

這裏是我的輸入

<input id="age" type="number"> 

這裏是我的js

$("#age").bind("keyup", function (e) { 
      var ageSelector = $('#age'); 

      if (ageSelector.val().length > 3) { 
       ageSelector.val(ageSelector.val().substr(0, 3)); 
      } 
     }); 

http://jsfiddle.net/JSdj8/

我怎樣才能在輸入的真正價值?或更好的我怎樣才能防止用戶輸入所有非數字字符?

+0

那是什麼小提琴?你確定你發佈了正確的嗎? –

+0

對不起,只是改變了它 –

回答

0

使用isNaN()如果它不是一個數字,將返回true,則可以使用maxlength屬性也

<input id="age" type="number" maxlength="3"> 

$("#age").bind("keyup", function (e) { 
    var ageSelector = $('#age'); 
    var val=ageSelector.val(); 
    if(isNaN(parseInt(val))) 
     ageSelector.val(val.substr(0, val.length-1)); 
    if (val.length > 3) { 
     ageSelector.val(val.substr(0, 3)); 
    } 
}); 

Fiddle Demo

+0

我試過這個,但沒有運氣 –

+0

因爲我必須設置類型爲數字(在iOS和Android上提示正確的鍵盤)輸入的值不是實際顯示的。 您發佈的小提琴不起作用,我仍然可以輸入超過3個字符(如果它們不是數字) –

+0

您可能必須用if(isNaN(parseInt() val)))(isNaN工作奇怪的字符串..)即使這並不完美 –