我环顾四周,无法找到能够满足我需要的插件:
理想情况下,如果插件/函数根据字符限制阻止/启用表单会很好。
我在哪里可以找到具有此类规格的插件?
我应该自己写吗?我是jQuery和JavaScript的完全新手,所以后一种选择是不可取的。但我可以修补和复制代码。
答案 0 :(得分:2)
写这样的东西很容易......
$('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);
});
答案 1 :(得分:1)
我会根据按键事件给你自己写的。应该很简单:
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上使用它,只需在该文本区域添加一个事件监听器并调用该函数。