用JS计算剩余可用字数
输入框允许的字数范围对用户看来并不可见,是个很抽象的东西,JS可以提供给用户一个很直观的数字,让用户控制好使用的字数。
*此效果涉及到一点HTML DOM知识和JS知识
效果
4525364564645645645646
文字最大长度: 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标签内。