我環顧四周,卻沒有能夠找到一個插件,會做什麼,我需要:尋找一個可以做多個文本區域的jQuery文本計數器!
- 要在每頁的多個文本區域使用。
- 有最小和最大限制
- 在用戶鍵入時顯示字符和警告。
理想情況下,如果插件/函數基於字符限制阻止/啓用表單,那將會很好。
我在哪裏可以找到具有此類規格的插件?
我應該自己寫嗎?我在jQuery和JavaScript中是一個完全新手,所以後一種選擇是不可取的。但我可以修補和複製代碼。
我環顧四周,卻沒有能夠找到一個插件,會做什麼,我需要:尋找一個可以做多個文本區域的jQuery文本計數器!
理想情況下,如果插件/函數基於字符限制阻止/啓用表單,那將會很好。
我在哪裏可以找到具有此類規格的插件?
我應該自己寫嗎?我在jQuery和JavaScript中是一個完全新手,所以後一種選擇是不可取的。但我可以修補和複製代碼。
很容易寫這樣的東西......
$('textarea').keyup(function(){
var maxsize = 1000;
if($(this).val().length > maxsize)
$(element).val($(element).val().substring(0, maxsize));
});
您也可以使它更通用的...只是一個基本的例子:
<textarea data-min="10" data-max="1000"></textarea>
$('textarea').keyup(function(){
var maxsize = $(this).data('max');
if($(this).val().length > maxsize)
$(element).val($(element).val().substring(0, maxsize));
});
$('textarea').blur(function(){
var minsize = $(this).data('min');
if($(this).val().length < minsize)
alert("Mininum size for this textarea is " + minsize);
});
你擁有我會寫,基於在按鍵事件上。應該是相當簡單:
var textarea = document.getElementById('someelement');
var formSubmitButton = document.getElementById('someelementsParentform');
textarea.addEventListener('keypress', function(){
checklength(this, minvalue, maxvalue, formSubmitButton)
}, false);
function checkLength(thiselement, min, max, formSubmitButton){
if(thiselement.length < min || thiselement > max){
formSubmitButton.disabled = true;
}else{
formSubmitButton.disabled = false;
}
這是未經測試的代碼,但我相信它應該工作
把它用在另一個textarea的,只是添加事件偵聽到該文本區域並調用該函數。
keyup事件也會起作用 – AsherMaximum 2011-06-03 22:08:37
您也可以從'checkLength'返回true或false,然後根據checkLength返回的內容在事件偵聽器中執行一些操作。 – AsherMaximum 2011-06-03 22:11:53