非常实用的效果:用JS计算剩余可用字数

本文介绍了一个简单的JavaScript程序,用于实现在HTML文本区域输入时的字数统计功能。该程序能够实时显示用户还可输入的字符数量,帮助用户控制文本长度。
输入框允许的字数范围对用户看来并不可见,是个很抽象的东西,JS可以提供给用户一个很直观的数字,让用户控制好使用的字数。

  *此效果涉及到一点HTML DOM知识和JS知识

  效果

  
      文字最大长度: 250. 还剩: 228.

  代码解释

  先看看HTML代码:
<textarea name="description" onkeyup="checkLength(this);"></textarea>  
<br /><small>文字最大长度: 250. 还剩: <span id="chLeft">250</span>.</small>  

  可以看出onkeyup是当用户离开键盘后触发的事件,传递的参数是this(也就是当前所在的文档区域)

  然后结合JS代码看一下:
<script type="text/javascript"> 
function checkLength(which) { 
var maxChars = 250; 
if (which.value.length > maxChars) 
which.value = which.value.substring(0,maxChars); 
var curr = maxChars - which.value.length; 
document.getElementById("chLeft").innerHTML = curr.toString(); 

</script> 

  函数中首先给maxChars变量指定了值(输入区内最多可用的字符数,注意,该变量是个可用于计算的数值)

  然后从参数中得到在textarea中已输入的字符长度,并与前面指定的最大长度做比较。
当输入的字符长度超过范围,则使用substring来强制限制其长度(0,maxChars)的意思就是可输入范围是0个字符到maxChars(变量)个字符。

  var curr = maxChars - which.value.length;的作用是算出还可用多少个字符,将数值保存在curr中。

  最后通过getElementById定位到id为chLeft的对象(在该HTML中为span),并将curr里的值通过toString方法把数值变为字符串,反馈到span标签内。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值