首頁  >  文章  >  web前端  >  怎麼實作取得textarea的動態剩餘字數

怎麼實作取得textarea的動態剩餘字數

php中世界最好的语言
php中世界最好的语言原創
2018-01-23 10:22:421775瀏覽

這次帶給大家怎麼實現取得textarea的動態剩餘字數,取得textarea的動態剩餘字數的注意事項有哪些,下面就是實戰案例,一起來看一下。

工作上遇到一個案例,之前沒有寫過,今兒啃了半個下午硬是給寫出來,灰常又成就感!當然對於js大牛來說這根本不算啥,但對於我自己的js能力又向前邁出一小步。

案例介紹:我們常見到有的網站有textarea文字框,當你輸入的時候,下面有文字提示還能輸入多少個字,今天就是要實現這個功能。當然,由於一個頁面有好幾個textarea,所以使用單一js邏輯進行控制是不行的,得小小的進行封裝一下。當然我的封裝還有缺漏,但是基本功能是實現了。

首先介紹下單一textarea實作案例

html部分:

<textarea id="text_txt1"></textarea>  
<span id ="num_txt1">剩余可输入600字</span>

js部分:

$(function(){   
   $(&#39;#text_txt1&#39;).on(&#39;keyup&#39;,function(){   
       var txtval = $(&#39;#text_txt1&#39;).val().length;   
       console.log(txtval);   
      var str = parseInt(600-txtval);   
      console.log(str);   
        if(str > 0 ){   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
      }else{   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入0字&#39;);   
          $(&#39;#text_txt1&#39;).val($(&#39;#text_txt1&#39;).val().substring(0,600)); //这里意思是当里面的文字小于等于0的时候,那么字数不能再增加,只能是600个字   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
})

然後介紹同頁面下多個textarea實作案例

function changeLength(obj,num){   
    obj.on(&#39;keyup&#39;,function(){   
    var txtval = obj.val().length;   
        //console.log(txtval);   
        var str = parseInt(600-txtval);   
        //console.log(str);   
        if(str > 0 ){   
            num.html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
        }else {   
            num.html(&#39;剩余可输入0字&#39;);   
            obj.val(obj.val().substring(0, 600));   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
}   
$(function(){ //我这里有四个,所以调用4次   
    changeLength($(&#39;#text_txt1&#39;),$(&#39;#num_txt1&#39;));   
    changeLength($(&#39;#text_txt2&#39;),$(&#39;#num_txt2&#39;));   
    changeLength($(&#39;#text_txt3&#39;),$(&#39;#num_txt3&#39;));   
    changeLength($(&#39;#text_txt4&#39;),$(&#39;#num_txt4&#39;));   
});

當然這裡面實際上要求的字數也可以封裝在函數內部,不過我就不封裝了。這樣就實現了當輸入文字的時候,span內部會自動顯示剩餘字數,當輸入值達最高值時,顯示剩餘字數為0,且無法在新填入內容。當刪除文字的時候,span又能動態取得剩餘字數。

下面上下別人的程式碼,這次多少也藉鑒了別人的寫法

html:

<div class="family_v2">  
    <p class="nickname_v2">简介:</p>  
     <textarea id="content" name="sign" style="height:60px;overflow-y: hidden;"  
     onkeyup="changeLength(this,60)" class="nicknameBox_v2 brief_box_v2">  
     </textarea>  
     <div class="limit_num_v2">  
         <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));   
    }   
}

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

HTML的基礎知識.關於css樣式表和樣式屬性的詳細介紹

HTML的meta標籤常見用法介紹

HTMLa標籤的href屬性指定相對路徑與絕對路徑使用方法

以上是怎麼實作取得textarea的動態剩餘字數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn