js动态提示输入框剩余字符数

来源:互联网 发布:macbook air装windows 编辑:程序博客网 时间:2024/06/04 21:16

[html] view plaincopy
  1.   

效果如上面两图。

页面代码为:

[html] view plaincopy
  1. <dd class="ediTabCont">  
  2.     <textarea name="Note" id="message" cols="" rows="" style="width: 370px; height: 128px; border: 1px solid #ccc"></textarea>  
  3.     <p>  
  4.         <em>Optional</em><span><b id="num" style="color:#ff0000">8000</b> characters left</span></p>  
  5. </dd>  

JS代码为:

[javascript] view plaincopy
  1.     $(document).ready(function() {  
  2.     initBind();  
  3. })  
  4.   
  5. function initBind()  
  6. {  
  7.     $("#message").blur(function(){ checkMessage();});  
  8.     $("#message").keyup(function() { checkMessage(); });  
  9.     $("#message").keydown(function() { checkMessage(); });  
  10. }  
  11.   
  12. function checkMessage()  
  13. {  
  14.     $("#num").html(8000 - $('#message').val().length);  
  15.     var pattern = /[\s\S]{20,2000}/;  
  16.     if($('#message').val().length  != 0)  
  17.     {  
  18.     if(!pattern.test($('#message').val()) || $('#message').val().length < 20)  
  19.     {  
  20.         err = false;  
  21.         $("#errmessage").show();  
  22.     }            
  23.      else  
  24.     {  
  25.         err = true;  
  26.         $("#errmessage").hide();  
  27.         if (err1 && err2 && err3 && err) {  
  28.             $("#Button1Error").hide();  
  29.         }  
  30.     }  
  31.     }  
  32.     else  
  33.     {  
  34.         err = true;  
  35.         $("#errmessage").hide();  
  36.         if (err1 && err2 && err3 && err) {  
  37.             $("#Button1Error").hide();  
  38.         }  
  39.     }  
  40. }  





























JavaScript中统计Textarea字数并提示还能输入的字符

现在流行的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> 




0 0