【发布时间】:2011-08-03 06:02:26
【问题描述】:
我的表单中有一个文本区域,它接受来自用户的所有可能的字符。我将在 textarea 中输入的字符数限制为 10 。当用户输入带有特殊字符的文本时,例如“SampleTxt”,textarea 中的字符数为 10。但是当我在表单中获取文本区域的值时,文本变为“SampleTxt”
文字数变成21,这个问题怎么解决?
function toCount(in) {
var inObj=document.getElementById(in);
var re='/\r\n|\n|\r\|\f/g';
var i=0;
while(re.match(inObj.value)){i++;}
var length=characters - (inObj.value.length+i);
if(length <= 0) {
inObj.value=inObj.value.substr(0,characters);
document.getElementById("remcount").innerHTML = inObj.value.length;
}
}
jsp
< html:textarea property="descTxt" styleId="desc" onkeyup="toCount('desc');" />
【问题讨论】:
-
我觉得这个问题的答案会对你有所帮助:stackoverflow.com/questions/1912501/…
-
@aroth 即使我使用 unescape。我遇到了这个问题
-
是的,因为在这种情况下
unescape()是错误的函数。您需要使用另一个问题的答案中描述的htmlDecode()函数。
标签: javascript special-characters windows-1252