天天看点

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> 

继续阅读