2013-05-15 4 views
0

У меня есть текстовое поле в форме, которое должно допускать только числовые значения, которые меньше граничного значения 2147483647 (максимальное значение Int32)? Может ли кто-нибудь помочь мне сделать это с помощью JQuery? Я попытался использовать, добавив плагин проверки в eclipse, но он не работает. Спасибо заранее.Установить максимальное значение в текстовое поле в javascript

+4

вы можете показать нам код? что вы пытались? Мы можем помочь вам, не решая проблему для вас. – steo

+2

Вы должны прочитать [этот ответ] (http://stackoverflow.com/a/4859025/2190252), отправленный по другому вопросу. –

+0

Вы хотите, чтобы целые положительные числа были меньше 2147483647? – kennebec

ответ

2

здесь пример кода:

$('#textboxID').on('change',function(){ 
    if($(this).val()>=2147483647){ 
    //put error span with nice css 
    } 
    }); 
+0

Удалил мой ответ и вместо этого поддержал это. Оказывается, вы можете ввести что-либо в '', независимо от значения атрибута 'max' (по крайней мере, в текущем Chrome). Итак, мое решение может быть интересным, но на практике это не очень полезно. – bfavaretto

+0

@bfavaretto ", который меньше граничного значения 2147483647" ... этот ответ будет принимать недопустимый «2147483647». – plalx

+0

@plalx отредактировал его только для вас :-) –

1

HTML:

<input type="text" id="numberField" /> 
<input id="submit" type="submit" value="Submit" /> 

JQuery:

$('#submit').click(function(){ 
    var numberField = $('#numberField'); 
    var number = parseInt(numberField.val(), 10); 
    if(isNaN(number) || number > 2147483647){ 
     numberField.val(''); 
     alert('Not a number'); 
    } 
    else 
     alert('Number is: '+ number); 
}); 

jsFiddle http://jsfiddle.net/R3Rx2/1/

1

Вы могли бы сделать что-то вроде этого:

DEMO: http://jsfiddle.net/mSSYT/1/

$('#test').on('keyup', function (e) { 
    var $self = $(this), 
     v = $self.val(), 
     max = 2147483647; 

    //blank any input that isint a number 
    if (!/^\d*$/.test(v)) { 
     $self.val(''); 
     return; 
    } 

    //trim the value until it meets the condition 
    if (v >= max) { 
     while (v >= max) { 
      v = v.substring(0, v.length - 1); 
     } 

     $self.val(v); 
    } 
}); 
Смежные вопросы