2013-05-15 56 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

刪除我的答案,並把它改爲upvoted。事實證明,無論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); 
    } 
}); 
相關問題