首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

各位帮一上,崩溃了都

2012-12-27 
各位帮一下,崩溃了都js的限制字数325个,可是这个一会起作用,到325就不能输入了,有时候已经提示字数过多还

各位帮一下,崩溃了都
js的限制字数325个,可是这个一会起作用,到325就不能输入了,有时候已经提示字数过多还是能在输入,为什么????
function key(){
 var len=325;
 var content=document.getElementById("gaobai").value;
 var sum=0;
 for(var i = 0;i<content.length;i++){

if((content.charCodeAt(i)>=0)&&(content.charCodeAt(i)<=255)){ 
sum=sum+1;  
}else{  
sum=sum+2;  
}  
}  
 if(sum>325){
 document.getElementById("keyMsg").value="字数过多了!";
 var str=content.substr(0,325);
 document.getElementById("gaobai").value=str;
 }
 else
 {
 len=325-sum;
 document.getElementById("keyMsg").value="您还可输入"+len+"个字";
}
}
[解决办法]
输入过多之后直接修改输入框的属性readonly="readonly" 。
[解决办法]
READONLY:readOnly 设置或获取表明对象内容是否为只读的值 
[解决办法]
输入超过限制后,你需要做一些处理,readonly或者把超过的部分截取掉,或者把整个字符串清空等等

[解决办法]
var str=content.substr(0,325);
你的这句话有问题,上面计算的时候中文的长度算成2,但是你截取字符串的时候中文的长度也要算成2才行的。
325应该换成一个变量,这个变量的值就是你在上边顺换时记录啥时候长度超过325的那个i值。
修改输入框的readonly肯定不行的啊,人家输入超过了还要删除呢
[解决办法]

引用:
var str=content.substr(0,325);
你的这句话有问题,上面计算的时候中文的长度算成2,但是你截取字符串的时候中文的长度也要算成2才行的。
325应该换成一个变量,这个变量的值就是你在上边顺换时记录啥时候长度超过325的那个i值。
修改输入框的readonly肯定不行的啊,人家输入超过了还要删除呢

+1   得考虑中文长度。

热点排行