当前位置:   article > 正文

为textarea 增加 maxlength 屬性

慰nkeyup="value=value.slice(0,10)

如果只是单纯地想限制 textarea 中的字數,可用:

<textarea οnkeyup="this.value = this.value.slice(0, 10)"></textarea>

<textarea οnkeyup="this.value = this.value.substring(0, 10)"></textarea>

 

也可以这样子:

首先在textarea 上定义一个 maxlength 属性:
<textarea rows="2" cols="20" maxlength="10" οnkeydοwn="checklength(this);"></textarea>
然后添加这个方法就行了!
function checklength(obj) {
        var max = obj.maxlength;
        if(max == null || max == "" || max == undefined) {
            return;
        }
        if(obj.value.length > max) {
            alert("请不要超过最大长度:" + max);
            obj.value=obj.value.substring(0,(max-1));
            return;
        }
    }

 

还可以这样子:

      在textarea中输入内容后就判断是否超出了maxLength,如果超出就按照maxLength截取textare的值,如果用鼠标来拷贝粘贴就没法调用判断maxLength的方法,解决办法就是当textarea获取焦点时把鼠标右键失效,失去焦点时再恢复鼠标右键
      这个方法从功能上解决了textarea的maxLength问题,但还不是很完美,在输入超过maxLength的字符后光标会有闪烁,因为是截取回填,没有像input的maxLength那样真正不让输入

<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>


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

 

还是第一种方法方便有效

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/238733
推荐阅读
  

闽ICP备14008679号