我环顾四周,却没有能够找到一个插件,会做什么,我需要:寻找一个可以做多个文本区域的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