2013-02-15 2 views
0

У меня есть поле ввода, где я хочу только ввести числа 0 - 9 и ничего больше. Его мобильный сайт настолько важен, что он работает на телефонах. Я нашел следующий код, который отлично работает на настольных компьютерах, но ничего не делает на телефонах.html ограничение поля ввода на номера на телефонах

$("#phone").keypress(function (event) { 
    var code = (event.keyCode ? event.keyCode : event.which); 
    if (code < 48 || code > 57) event.preventDefault(); 
}); 

Кто-нибудь знает, как я могу достичь того же, что и код выше, но на телефонах?

ответ

2

Речь идет о ключевых кодах

/*Only number*/ 
$(".numb").keydown(function(event) { 
      if (event.keyCode == 190 || event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || (event.keyCode == 65 && event.ctrlKey === true) || (event.keyCode >= 35 && event.keyCode <= 39)) { 

     if(event.keyCode == 190){ 
      if($(this).val().indexOf('.')!=-1){ 
        event.preventDefault(); 
       } 

      } 
     return; 
    } 
    else { 

     if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) { 

      event.preventDefault(); 
      } 
    } 
}); 
2

html5 вводит некоторые новые типы входных данных вы можете использовать:

<input type="number" name="phone" /> 

см http://www.w3schools.com/html/html5_form_input_types.asp

+0

Нет, это не работает, так как я все еще могу поместить символы как:,. - + –