获取textarea的字符数,包括换行符

时间:2012-10-16 22:43:22

标签: javascript textarea

我在Chrome中测试了此代码,似乎存在涉及换行符的错误。在实际使用所有角色之前,我达到了最大长度。

var ta = document.getElementById('myText');

document.getElementById('max').innerHTML = ta.maxLength;

setInterval(function() {
    document.getElementById('count').innerHTML = ta.value.length;
}, 250);
<textarea id="myText" maxlength="200" style="width:70%;height:130px">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
Type more words here...
</textarea>

<div>
    Char Count <span id="count">0</span>/<span id="max">0</span>
</div>

如何准确获取textarea的字数?

更新1 我向Chromium团队报告了bug,似乎是低优先级。

更新2 该错误已合并到另一个bug

更新3 该错误似乎已得到解决!

1 个答案:

答案 0 :(得分:1)

似乎是一个WebKit错误(考虑filing)与将CR / LF对视为两个字符而不是一个字符相关。因为它通常是非关键性的,例如,如果允许197个字符而不是200个字符,那么可以忽略它。

但如果您愿意,可以尝试不断保存插入位置,将所有\r\n替换为\n,并在用户输入时恢复textarea中的插入位置。