需要限制在jquery中的文本框中輸入超過20個數字。 如何實現它。jquery限制數字大於要求
任何幫助表示讚賞。
<table>
<tr>
<td>
<h:inputText id="Actualcard" styleClass="input-text-bx"></h:inputText>
</td>
</tr>
</table>
需要限制在jquery中的文本框中輸入超過20個數字。 如何實現它。jquery限制數字大於要求
任何幫助表示讚賞。
<table>
<tr>
<td>
<h:inputText id="Actualcard" styleClass="input-text-bx"></h:inputText>
</td>
</tr>
</table>
$("#Actualcard").attr('maxlength','20');
對於數字驗證:
$("#Actualcard").validate({
rules: {
field: {
required: true,
number: true
}
}
});
或者使用jQuery的'change()'http://api.jquery.com/change/,然後修剪該值並檢查它的長度並使用substr來保持任何長度超過20的長度。不要使用這個作爲安全措施,客戶端用戶仍然可以在提交時修改結果。 +1爲這個答案 – 2013-03-21 08:26:11
@Allendar爲什麼使用這種令人費解的解決方案時,有一個屬性可以解決問題並具有通用瀏覽器支持? – AmericanUmlaut 2013-03-21 08:27:38
我只是指出他如何控制內容,即使他的問題只涉及最大長度。他缺乏使用DOM內部體驗的經驗主要是指出對輸入領域的控制。它從來沒有傷害提供更多的信息比需要,所以他可以過濾出他想要的任何東西:) – 2013-03-21 08:30:34
HTML
<input type="text" name="Actualcard" maxlength="20" value="" />
JS
'use strict';
$(document).ready(function(){
$("#your_from input[name=Actualcard]").change(function(){
var input = trim($(this).attr('value'));
// Check if it's not all digits
if (!(typeof(input) == 'number' && parseInt(input) == input)) {
// Do something with the value here
$(this).attr('value', '0');
}
});
});
這樣你就可以檢查輸入是否都是數字。如果input[name=Actualcard]
工作,我不是100%。否則,在該輸入字段上使用額外的類來訪問它($("#your_from .my_digit_field")
)。
你的意思是20 _numbers_或20 _digits_? (如果後者不需要jQuery(或JS),只需設置'maxlength =「20」'。) – nnnnnn 2013-03-21 08:24:21
爲什麼你想用jQuery來解決這個問題?只需設置輸入的maxlength屬性會出現什麼問題?另外,我編輯了代碼塊以使其可讀並修復語法錯誤 - 請在提交問題之前在預覽屏幕中檢查您的代碼! – AmericanUmlaut 2013-03-21 08:26:34
只需使用maxlength屬性,它在任何地方都受支持,並且不需要任何腳本。 – RobG 2013-03-21 08:26:41