教程集 www.jiaochengji.com
教程集 >  jQuery  >  jquery 教程  >  正文 JQuery为textarea添加maxlength属性的代码

JQuery为textarea添加maxlength属性的代码

发布时间:2013-08-20   编辑:jiaochengji.com
textarea默认不支持maxlength属性。所以通过jquery实现下。具体的看代码。
textarea默认不支持maxlength属性。所以通过jquery实现下。具体的看代码。 通过JQuery的keyup事件:
复制代码 代码如下:

<html>
<head>
<title>JQuery为textarea添加maxlength</title>
<script type="text/javascript" src="jquery-1.4.js"></script>
</head>
<body>
<textarea style="width:300px; height:60px;" maxlength="10"></textarea>
</body>
</html>
<script type="text/javascript">
$(function(){
$("textarea[maxlength]").keyup(function(){
var area=$(this);
var max=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>

如果只用keyup只能判断键盘输入的maxlength,利用鼠标的粘贴还是可以超过maxlength的限制,可以利用blur事件做判断:
复制代码 代码如下:

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

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

您可能感兴趣的文章:
JQuery为textarea添加maxlength属性并且兼容IE
JQuery textarea添加maxlength属性的例子
JQuery为textarea添加maxlength属性的代码
TextArea不支持maxlength的解决办法(jquery)
textarea不支持maxlength属性的解决方法
jQuery maxlength文本字数限制插件
js限制textarea中每行输入字符串长度的方法
限制textarea每行输入字符串长度的js代码
文本框的字数限制功能jquery插件
jQuery textarea plugin

[关闭]
~ ~