您的位置:首页 > Web前端 > JQuery

JQuery为textarea添加maxlength

2012-09-05 09:18 274 查看
textarea默认不支持maxlength属性。

<html>
<head>
<title>JQuery为textarea添加maxlength</title>
<scripttype="text/javascript"src="jquery-1.4.js"></script>
</head>
<body>
<textareastyle="width:300px;height:60px;"maxlength="10"></textarea>
</body>
</html>
<scripttype="text/javascript">
$(function(){
$("textarea[maxlength]").keyup(function(){
vararea=$(this);
varmax=parseInt(area.attr("maxlength"),10);//获取maxlength的值
if(max>0){
if(area.val().length>max){//textarea的文本长度大于maxlength
area.val(area.val().substr(0,max));//截断textarea的文本重新赋值
}
}
});
});
如果只用keyup只能判断键盘输入的maxlength,利用鼠标的粘贴还是可以超过maxlength的限制,可以利用blur事件做判断:

失去焦点后截断textarea的文本,通过blur事件判断后还是有问题,如果是粘贴后直接提交而没有做对textarea的长度验证的情况下,还是会把textarea的全部内容提交。



$("textarea[maxlength]").blur(function(){

vararea=$(this);
varmax=parseInt(area.attr("maxlength"),10);//获取maxlength的值
if(max>0){
if(area.val().length>max){//textarea的文本长度大于maxlength
area.val(area.val().substr(0,max));//截断textarea的文本重新赋值
}
}

});




</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: