(Javascript)为何IE刷新后,CheckBox的状态会改变?

IE浏览器,在刷新之后,为何有时checkbox的状态会改变?就是说,刷新前,页面中有的checkbox为“选中”状态,而刷新后就全变成“非选中”状态了。在网上查了下,有... IE浏览器,在刷新之后,为何有时checkbox的状态会改变?
就是说,刷新前,页面中有的checkbox为“选中”状态,而刷新后就全变成“非选中”状态了。
在网上查了下,有人说是IE的bug,是否如此呢?
如果不是IE的bug,那么该如何在刷新后保持checkbox的状态呢?
谢谢!
谢谢各位!
我的初衷是想在html文件关闭之后,记住页面里的chekox的状态,以便下回重新打开时checkbox的状态如前。
做法是,关闭html时把当前被选中的checkbox的id写进临时文件,下回打开html时读文件,从而初始化对应的checkbox。
问题如下:
初次打开html后,选中n个checkbox,接着关闭html,然后第2次打开html,看到之前选中的n个checkbox已被正确初始化(选中),此时如果:
i)刷新页面,所有的checkbox状态将被清空.
ii)关闭页面,checkbox状态也将被清空,当然临时文件也没被写进任何东西。

请问有什么方法解决以上问题?
展开
 我来答
雾塔晨钟书院
2009-05-11 · TA获得超过337个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:164万
展开全部
IE是记不住checkbox的状态,你刷新后,这个页面重新读取,原来什么样子还是什么样子。
这个不算bug,只能说firefox可能做的更人性化一些。

要想记住,可以把状态存在服务端,在checkbox的状态改变的情况下,把状态传回服务端储存起来,下次页面刷新时再从服务端读取。比较简单的一种,就是把checkbox的状态记忆到session里面,每次刷新去session读取,传回客户端。
如果浏览器关掉的话,session就会被清空,页面重新打开后,又是恢复到最开始的状态。

也可以像楼上说的,把状态记忆到cookie中,不过cookie是有数量和容量限制的,IE和FF都是50个的限制,也就是说你只能记忆50个checkbox,再多的话就会把以前的状态丢弃。我开发过的项目,都没有这样做的,都是记忆到服务端数据库中。
liyi830813
2009-05-12 · TA获得超过952个赞
知道小有建树答主
回答量:1034
采纳率:0%
帮助的人:963万
展开全部
我觉得lz你对操作的理解有问题,所谓刷新就是重新从服务器端下载数据,但是你做checkBox操作的时候,并不一定选中就要保存到后台,既然是个可选操作,当然要以用户的角度去理解。一个简单的现象,假设我是一个用户,我上次登录你的网站选了几个选项,但是我并不希望将其保存,那么下次我登陆的时候我看见这几个选项已经选上我有什么感想??难道我还要自己去清除一下??

如果你是希望将保存过的数据显示出来,那么只要在刷新的时候从后台将数据读出在前台处理就可以了,过程也不复杂。

这个不是IE的什么bug,是HTTP协议决定的,不建议用cookie,不要自己给自己下套。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Soulandlife
2009-05-12
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
用cookie吧。。点击后存进变量,刷新时写入cookie和读取cookie中客户端就这样搞
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
撒白风05F
2009-05-11 · TA获得超过1010个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:514万
展开全部
因为IE并没有记下它的值改变后的状态,刷新过后回到从前
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sinoluxuries
2009-05-11 · TA获得超过658个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:0
展开全部
在onload对应的函数里边将checkbox设为“选中”状态
这样刷行后为“选中”状态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式