`
jysh0922
  • 浏览: 68920 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

实现在文本区域textarea中限制字数

阅读更多
<html>
<style type="text/css">

.progress{
        width: 1px;
        height: 14px;
        color: white;
        font-size: 12px;
  overflow: hidden;
        background-color: navy;
        padding-left: 5px;
}

</style>

<script type="text/JavaScript">


//more javascript from http://www.smallrain.net

function textCounter(field,counter,maxlimit,linecounter) {
        // text width//
        var fieldWidth =  parseInt(field.offsetWidth);
        var charcnt = field.value.length;        

        // trim the extra text
        if (charcnt > maxlimit) { 
                field.value = field.value.substring(0, maxlimit);
        }

        else { 
        // progress bar percentage
        var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
        document.getElementById(counter).style.width =  parseInt((fieldWidth*percentage)/100)+"px";
        document.getElementById(counter).innerHTML="Limit: "+percentage+"%"
        // color correction on style from CCFFF -> CC0000
        setcolor(document.getElementById(counter),percentage,"background-color");
        }
}

function setcolor(obj,percentage,prop){
        obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}

</script>
<form>

<textarea rows="5" cols="40" name="maxcharfield" id="maxcharfield" 
onKeyDown="textCounter(this,'progressbar1',20)" 
onKeyUp="textCounter(this,'progressbar1',20)" 
onFocus="textCounter(this,'progressbar1',20)" ></textarea><br />

<div id="progressbar1" class="progress"></div>

<script>textCounter(document.getElementById("maxcharfield"),"progressbar1",20)</script>

</form>
</html>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics