基于JS實現(xiàn)textarea中獲取動態(tài)剩余字數(shù)的方法

字號:


    這篇文章主要介紹了基于JS實現(xiàn)textarea中獲取動態(tài)剩余字數(shù)的方法的相關資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    案例介紹:我們常見到有的網(wǎng)站有textarea文本框,當你輸入的時候,下面有文字提示還能輸入多少個字,今天就是要實現(xiàn)這個功能。當然,由于一個頁面有好幾個textarea,所以使用單個js邏輯進行控制是不行的,得小小的進行封裝一下。當然我的封裝還有缺漏,但是基本功能是實現(xiàn)了。
    首先介紹下單個textarea實現(xiàn)案例
    html部分:
    <textarea id="text_txt1"></textarea>
    <span id ="num_txt1">剩余可輸入600字</span>
    js部分:
    $(function(){
    $('#text_txt1').on('keyup',function(){
    var txtval = $('#text_txt1').val().length;
    console.log(txtval);
    var str = parseInt(600-txtval);
    console.log(str);
    if(str > 0 ){
    $('#num_txt1').html('剩余可輸入'+str+'字');
    }else{
    $('#num_txt1').html('剩余可輸入0字');
    $('#text_txt1').val($('#text_txt1').val().substring(0,600)); //這里意思是當里面的文字小于等于0的時候,那么字數(shù)不能再增加,只能是600個字
    }
    //console.log($('#num_txt').html(str));
    });
    })
    然后介紹同頁面下多個textarea實現(xiàn)案例
    function changeLength(obj,num){
    obj.on('keyup',function(){
    var txtval = obj.val().length;
    //console.log(txtval);
    var str = parseInt(600-txtval);
    //console.log(str);
    if(str > 0 ){
    num.html('剩余可輸入'+str+'字');
    }else {
    num.html('剩余可輸入0字');
    obj.val(obj.val().substring(0, 600));
    }
    //console.log($('#num_txt').html(str));
    });
    }
    $(function(){ //我這里有四個,所以調用4次
    changeLength($('#text_txt1'),$('#num_txt1'));
    changeLength($('#text_txt2'),$('#num_txt2'));
    changeLength($('#text_txt3'),$('#num_txt3'));
    changeLength($('#text_txt4'),$('#num_txt4'));
    });
    當然這里面實際上要求的字數(shù)也可以封裝在函數(shù)內部,不過我就不封裝了。這樣就實現(xiàn)了當輸入文字的時候,span內部會自動顯示剩余字數(shù),當輸入值達最高值時,顯示剩余字數(shù)為0,且無法在新填入內容。當刪除文字的時候,span又能動態(tài)獲取剩余字數(shù)。
    下面上下別人的代碼,這次多少也借鑒了別人的寫法
    html:
    <div>
    <p>簡介:</p>
    <textarea id="content" name="sign"
    onkeyup="changeLength(this,60)">
    </textarea>
    <div>
    <h3>60</h3>
    </div>
    </div>
    js:
    //驗證textarea的長度
    function changeLength(obj,lg){
    var len = $(obj).val();
    $(obj).next().find("h3").text(lg-len.length);
    if(len.length>=lg){
    $(obj).next().find("h3").text(0);
    $(obj).val(len.substring(0,lg));
    }
    }
    以上所述是小編給大家介紹的基于JS實現(xiàn)textarea中獲取動態(tài)剩余字數(shù)的方法,希望對大家有所幫助