为textarea添加maxlength功能

如果只是單純地想限制 textarea 中的字數,不想寫太多的話,可用:


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





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




o 在 textarea 的 onkeyup 中檢查字數之方法:


.....
<script language="javascript" type="text/javascript">
function DjCheckMaxlength(oInObj)
{
    var iMaxLen = parseInt(oInObj.getAttribute('maxlength'));
    var iCurLen = oInObj.value.length;


    if ( oInObj.getAttribute && iCurLen > iMaxLen )
    {
        oInObj.value = oInObj.value.substring(0, iMaxLen);
    }
} //@ END OF DjCheckMaxlength()
</script>
.....
<textarea maxlength="80" οnkeyup="return DjCheckMaxlength(this);"></textarea>
.....




o 設定好自動去檢查所有的 textarea 之方法:


.....
<head>
<script language="javascript" type="text/javascript">
function DjTextArea_AddMaxlengthAttr()
{
    var aX = document.getElementsByTagName_r('textarea');


    for ( var iI = 0; aX.length > iI; iI++ )
    {
        if ( aX[iI].getAttribute('maxlength') )
        {
            aX[iI].onkeyup = aX[iI].onchange = DjTextArea_CheckMaxlength;
        }
    }
} //@ END OF DjTextArea_AddMaxlengthAttr()


function DjTextArea_CheckMaxlength()
{
    var iMaxLen = parseInt(this.getAttribute('maxlength'));
    var iCurLen = this.value.length;


    if ( this.getAttribute && iCurLen > iMaxLen )
    {
        this.value = this.value.substring(0, iMaxLen);
    }
} //@ END OF DjTextArea_CheckMaxlength()
</script>
</head>
.....
<body οnlοad="DjTextArea_AddMaxlengthAttr();">






首先在textarea 上定义一个 maxlength 属性:


<textarea rows="3" cols="40" maxlength="200" ο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;
        }
    }

转载于:https://my.oschina.net/xuqiang/blog/104310

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值