現(xiàn)在流行的Twitter等微博客網(wǎng)站,有一個(gè)很好的用戶體驗(yàn),就是在文本框中輸入文字的時(shí)候,會(huì)自動(dòng)統(tǒng)計(jì)輸入的字符,并顯示用戶還能輸入的字符,在限制了140個(gè)字的微博客中,這樣的小提示可以很好的增強(qiáng)用戶體驗(yàn)。
如果實(shí)現(xiàn)這種技術(shù)呢,我進(jìn)行了一些研究,發(fā)現(xiàn)實(shí)現(xiàn)其實(shí)挺簡(jiǎn)單,幾行代碼就能完成輸入字符統(tǒng)計(jì)功能,經(jīng)過(guò)實(shí)際測(cè)試,其對(duì)文字的統(tǒng)計(jì)與Twitter等微博客的完全相同。
使用方法是,先增加一個(gè)span,用于顯示剩余的字?jǐn)?shù),然后在Textarea中,加入一個(gè)onkeydown和onkeyup的事件,調(diào)用另一段JavaScript函數(shù),函數(shù)調(diào)用的參數(shù)為span的id和textarea的id,然后再JavaScript中使用innerHTML返回計(jì)算出來(lái)的剩余字?jǐn)?shù)。
以下是相關(guān)的JavaScript代碼:
<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>