Jquery帮助在textarea上强制执行maxlength?

Jquery帮助在textarea上强制执行maxlength?,jquery,validation,textarea,Jquery,Validation,Textarea,下面是Jquery,当您添加属性“maxlength”时,它将强制textarea使用maxlength。IE不支持Maxlength。如何调整代码以处理页面上的多个文本区域?目前 如果我向任何文本区域添加文本,它们都会使用相同的值倒计时 Jquery: $(document).ready( function () { maxLength = $("textarea").attr("maxlength"); $("textarea").after("<div><spa

下面是Jquery,当您添加属性“maxlength”时,它将强制textarea使用maxlength。IE不支持Maxlength。如何调整代码以处理页面上的多个文本区域?目前 如果我向任何文本区域添加文本,它们都会使用相同的值倒计时

Jquery:

$(document).ready( function () {

maxLength = $("textarea").attr("maxlength");
    $("textarea").after("<div><span id='remainingLengthTempId'>" 
              + maxLength + "</span> remaining</div>");

    $("textarea").bind("keyup change", function(){checkMaxLength(this.id,  maxLength); } )

});

function checkMaxLength(textareaID, maxLength){

    currentLengthInTextarea = $("#"+textareaID).val().length;
    $(remainingLengthTempId).text(parseInt(maxLength) - parseInt(currentLengthInTextarea));

    if (currentLengthInTextarea > (maxLength)) { 

        // Trim the field current length over the maxlength.
        $("textarea").val($("textarea").val().slice(0, maxLength));
        $(remainingLengthTempId).text(0);

    }
}
$(文档).ready(函数(){
maxLength=$(“textarea”).attr(“maxLength”);
$(“textarea”)。在(“”)之后
+最大长度+“剩余”);
$(“textarea”).bind(“keyup change”,function(){checkMaxLength(this.id,maxLength);})
});
函数checkMaxLength(textareaID,maxLength){
currentlenghtextarea=$(“#”+textareaID).val().length;
$(remainingLengtempId).text(parseInt(maxLength)-parseInt(currentLengthInTextarea));
如果(currentLengthInTextarea>(maxLength)){
//在maxlength上修剪字段当前长度。
$(“textarea”).val($(“textarea”).val().slice(0,maxLength));
$(remainingLengtempId).text(0);
}
}
Html:

技能:
职位:
评论
解决方案如下:

你不能用这个吗

    class="validate[required,maxSize[50]] " 

此解决方案作为本机HTML文本区域“最大长度”属性使用

Var MaxLength=100; 
$('#Selector').keydown(function (e) {
            var text = $(this).val();
            var chars = text.length;
            if (chars > MaxLength) {
                if (e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) {
                    return true;
                }
                return false;
            }
            return true;
        });
不要在服务器端控件(asp:TextBox)中设置Maxlength属性,因为服务器在返回浏览器时不会将Maxlength属性转换为HTML标记

这是最好的解决方案! 将其放入HTML代码中的脚本标记中

$("textarea[maxlength]").on("propertychange input", function() {
    if (this.value.length > this.maxlength) {
        this.value = this.value.substring(0, this.maxlength);
    }  
});

现在对
{your limit}
chars limit使用

Balzemonger..每一个都在哪里使用?这个maxlength是DOM expando吗?或者maxlength是input和textarea元素的合法javascript属性?
Var MaxLength=100; 
$('#Selector').keydown(function (e) {
            var text = $(this).val();
            var chars = text.length;
            if (chars > MaxLength) {
                if (e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) {
                    return true;
                }
                return false;
            }
            return true;
        });
$("textarea[maxlength]").on("propertychange input", function() {
    if (this.value.length > this.maxlength) {
        this.value = this.value.substring(0, this.maxlength);
    }  
});