永发信息网

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

答案:6  悬赏:60  手机版
解决时间 2021-02-24 09:46
  • 提问者网友:精神病院里
  • 2021-02-23 16:52
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状态也将被清空,当然临时文件也没被写进任何东西。

请问有什么方法解决以上问题?
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-02-23 18:22
我觉得lz你对操作的理解有问题,所谓刷新就是重新从服务器端下载数据,但是你做checkBox操作的时候,并不一定选中就要保存到后台,既然是个可选操作,当然要以用户的角度去理解。一个简单的现象,假设我是一个用户,我上次登录你的网站选了几个选项,但是我并不希望将其保存,那么下次我登陆的时候我看见这几个选项已经选上我有什么感想??难道我还要自己去清除一下??

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

这个不是IE的什么bug,是HTTP协议决定的,不建议用cookie,不要自己给自己下套。
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-02-24 01:33
用cookie吧。。点击后存进变量,刷新时写入cookie和读取cookie中客户端就这样搞
  • 2楼网友:雾月
  • 2021-02-23 23:54
因为IE并没有记下它的值改变后的状态,刷新过后回到从前 再看看别人怎么说的。
  • 3楼网友:琴狂剑也妄
  • 2021-02-23 22:16
是在客户端写啊?那就的用cookie了。在js里面调用cookie,然后打开的时候读cookie就行了。 具体的查DHTML的文档吧
  • 4楼网友:酒者煙囻
  • 2021-02-23 21:06
在onload对应的函数里边将checkbox设为“选中”状态 这样刷行后为“选中”状态
  • 5楼网友:上分大魔王
  • 2021-02-23 20:01
IE是记不住checkbox的状态,你刷新后,这个页面重新读取,原来什么样子还是什么样子。 这个不算bug,只能说firefox可能做的更人性化一些。 要想记住,可以把状态存在服务端,在checkbox的状态改变的情况下,把状态传回服务端储存起来,下次页面刷新时再从服务端读取。比较简单的一种,就是把checkbox的状态记忆到session里面,每次刷新去session读取,传回客户端。 如果浏览器关掉的话,session就会被清空,页面重新打开后,又是恢复到最开始的状态。 也可以像楼上说的,把状态记忆到cookie中,不过cookie是有数量和容量限制的,IE和FF都是50个的限制,也就是说你只能记忆50个checkbox,再多的话就会把以前的状态丢弃。我开发过的项目,都没有这样做的,都是记忆到服务端数据库中。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯