天天看點

js動态提示輸入框剩餘字元數 JavaScript中統計Textarea字數并提示還能輸入的字元

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

[html] view

plaincopy

js動态提示輸入框剩餘字元數 JavaScript中統計Textarea字數并提示還能輸入的字元
js動态提示輸入框剩餘字元數 JavaScript中統計Textarea字數并提示還能輸入的字元

效果如上面兩圖。

頁面代碼為:

<dd class="editabcont">  

    <textarea name="note" id="message" cols="" rows="" style="width: 370px; height: 128px; border: 1px solid #ccc"></textarea>  

    <p>  

        <em>optional</em><span><b id="num" style="color:#ff0000">8000</b> characters left</span></p>  

</dd>  

js代碼為:

[javascript] view

    $(document).ready(function() {  

    initbind();  

})  

function initbind()  

{  

    $("#message").blur(function(){ checkmessage();});  

    $("#message").keyup(function() { checkmessage(); });  

    $("#message").keydown(function() { checkmessage(); });  

}  

function checkmessage()  

    $("#num").html(8000 - $('#message').val().length);  

    var pattern = /[\s\s]{20,2000}/;  

    if($('#message').val().length  != 0)  

    {  

    if(!pattern.test($('#message').val()) || $('#message').val().length < 20)  

        err = false;  

        $("#errmessage").show();  

    }            

     else  

        err = true;  

        $("#errmessage").hide();  

        if (err1 && err2 && err3 && err) {  

            $("#button1error").hide();  

        }  

    }  

    else  

現在流行的twitter等微部落格網站,有一個很好的使用者體驗,就是在文本框中輸入文字的時候,會自動統計輸入的字元,并顯示使用者還能輸入的字元,在限制了140個字的微部落格中,這樣的小提示可以很好的增強使用者體驗。 

如果實作這種技術呢,我進行了一些研究,發現實作其實挺簡單,幾行代碼就能完成輸入字元統計功能,經過實際測試,其對文字的統計與twitter等微部落格的完全相同。 

使用方法是,先增加一個span,用于顯示剩餘的字數,然後在textarea中,加入一個onkeydown和onkeyup的事件,調用另一段javascript函數,函數調用的參數為span的id和textarea的id,然後再javascript中使用innerhtml傳回計算出來的剩餘字數。 

核心javascript代碼: 

複制代碼代碼如下:

<span style="font-size:18px;"><script language="javascript"> 

function countchar(textareaname,spanname) 

document.getelementbyid(spanname).innerhtml = 140 - document.getelementbyid(textareaname).value.length; 

</script> 

可以輸入<span id="counter">140</span>字<br/> 

<textarea id="status" name="status" rows="6" cols="40" onkeydown='countchar("status","counter");' 

onkeyup='countchar("status","counter");'></textarea></span> 

繼續閱讀