首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Web 开发
JavaScript
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
关于onkeydown和onkeyup
[已结贴,结贴人:lilyly]
加为好友
发送私信
在线聊天
lilyly
哼哼
等级:
发表于:
2008-05-10 10:00:28
楼主
代码如下,问题在代码后面的注释里,请大家帮帮忙!
<form name="form1">
理由: <textarea name="reason" onkeydown="CountStrByte(reason,used,remain);"
onkeyup ="CountStrByte(reason,used,remain);"> </textarea>
已用: <input name="used" type="text" value="0" >
剩余: <input name="remain" type="text" value="1600">
<script language="javascript">
var LastCount=0;
function CountStrByte(Message,Used,Remain)
{
var ByteCount=0;
var StrValue=Message.value;
var StrLength=Message.value.length;
var MaxValue=1600;
if(LastCount!=StrLength)
{
for(i=0;i <StrLength;i++)
{
ByteCount=ByteCount+1;
if(ByteCount>MaxValue)
{
Message.value=StrValue.substring(0,i);
alert("超过字节!");
ByteCount=MaxValue;
break;
}
}
Used.value=ByteCount;
Remain.value=MaxValue-ByteCount;
LastCount=StrLength;
}
}
</script>
</form>
<!--把onkeydown删掉正常,把onkeyup删掉,字数统计始终少一个。另外在输入多个字符,再删字符时字数统计又会出现问题。-->
问题点数:
30
回复次数:
5
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hbhbhbhbhb1021
天外水火(我要多努力)
等级:
发表于:
2008-05-10 10:30:24
1
楼 得分:
4
中间不要加空格
<textarea name="reason" onkeydown="CountStrByte(reason,used,remain);"
onkeyup ="CountStrByte(reason,used,remain);"
> <
/textarea>
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
pla18sep
非耕農民\n(有问题要问,没有问题创造问题也要问~!)
等级:
发表于:
2008-05-10 10:49:42
2
楼 得分:
0
IE6.0测试,未发现楼主描述的问题!
输入框内默认有一个空格,接着空格输入文本,统计会加上这个空格,替换这个空格,字符数量统计无误(中英文)。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lilyly
哼哼
等级:
发表于:
2008-05-10 10:55:21
3
楼 得分:
0
空格源文件中是没有的,贴过来出现的问题
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
pla18sep
非耕農民\n(有问题要问,没有问题创造问题也要问~!)
等级:
发表于:
2008-05-10 11:31:37
4
楼 得分:
26
抱歉,刚才没有看清楼主的问题~!
删除onkeyup后,你使用onkeydown来触发函数~!
onkeydown与onkeyup是有差异的,使用统一个函数,应对不同事件,必然导致运行结果的差异~!
onkeyup时,你对字符串的添加或删除动作已经完成,这时你获得了准确的字数统计~!
而onkeydown则不同,发生该事件时,键盘本身的动作(输入一个字符或一个退格键)并没有完成,在这个时机触发了函数,必然导致相差一个键盘动作,
表现出来就是在输入字符时,少统计一个字符;输入退格键时,多统计一个字符~!
如果要使用onkeydown来进行字符统计,函数应该考虑这个动作之后关联的onkeyup动作对内容的改变~!
统计字符的操作该使用onkeyup事件吧~!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lilyly
哼哼
等级:
发表于:
2008-05-10 12:55:45
5
楼 得分:
0
喔喔喔!明白了!!!谢谢pla18sep!!!
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
abc推荐给好友