how to check maxlength of textarea

textarea标签虽然有maxLength属性,但是它并不管用,所以只能自己控制,
下面的例子中我的思路是:
在textarea中输入内容后就判断是否超出了maxLength,如果超出就按照maxLength截取textare的值,有个问题,如果用鼠标来拷贝粘贴就没法调用判断maxLength的方法,解决办法就是当textarea获取焦点时把鼠标右键失效,失去焦点时再恢复鼠标右键

这个方法从功能上解决了textarea的maxLength问题,但还不是很完美,在输入超过maxLength的字符后光标会有闪烁,因为是截取回填,没有像input的maxLength那样真正不让输入,今天一时也想不到好办法,以后找到再补充进来。

<html>

<head>

<title></title>
<script type="text/javascript">

var textarea_maxlen = {
  isMax : function (){
var textarea =
document.getElementById(
"area");
var max_length = textarea.maxLength;
if(textarea.value.length > max_length){
  textarea.value =
textarea.value.substring(0, max_length);
}
  },
  disabledRightMouse : function (){
document.oncontextmenu =
  function (){ return false; }
  },
  enabledRightMouse : function (){
document.oncontextmenu = null;
  }
};
</script>
</head>

<body>
<textarea id=
"area" maxLength="10"
  οnkeyup=
"textarea_maxlen.isMax()"
  οnfοcus=
"textarea_maxlen.disabledRightMouse()"
  οnblur=
"textarea_maxlen.enabledRightMouse()"
  rows=
"20" cols="100">
</textarea>
</body>

</html>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值