当前位置:  开发笔记 > 编程语言 > 正文

为什么重新加载页面时复选框保持不变?

如何解决《为什么重新加载页面时复选框保持不变?》经验,为你挑选了3个好方法。

我正在重新加载包含以下代码的网页:



即使每次重新加载页面时发送到浏览器的HTML都是相同的,但在执行重新加载时,复选框始终采用检查的值.换句话说,如果用户选中复选框并重新加载,则仍会选中该复选框.

这里有缓存吗?

编辑:我在下面尝试了Gordon Bell的解决方案,发现即使删除了值="1"后仍然会发生这种情况.还有什么我可能会失踪的?

 
 

小智.. 146

添加autocomplete="off"到页面上的表单元素.缺点是这不是有效的XHTML,但它解决了问题,没有任何复杂的JavaScript.



1> 小智..:

添加autocomplete="off"到页面上的表单元素.缺点是这不是有效的XHTML,但它解决了问题,没有任何复杂的JavaScript.


从我正在阅读的内容(http://www.w3schools.com/html/html_form_attributes.asp)来看,它实际上在HTML5中有效.(在我阅读有关该主题的更多信息之前,我对之前的评论进行了评论.)因此,如果您使用的是HTML5,请在复选框上使用自动完成功能.

2> Owen..:

是的,我相信这是缓存.我在Firefox上看到了这种行为(不是Safari,因为它值得:)).

您可以使用CTRL- 重新加载页面并绕过缓存(在Firefox上)SHIFT,R并且您将看到检查值不带(正常CTRL- 但是R会从缓存中获取信息)

编辑:我能够在Firefox上禁用此服务器端,设置缓存控制标头:

Cache-Control: no-store

这似乎禁用了Firefox的"记住表单值"功能


它从缓存中获取值,因此它是缓存.除非我误解了你想说的话.

3> RainChen..:

使用js设置autocomplete ="off"也运行良好.

例如使用jquery:

$(":checkbox").attr("autocomplete", "off");


@ClainDsilva只是因为你_may_使用表单外的复选框并不意味着我说的任何不合逻辑.你可能会声称它并不完全全面(虽然它适用于大多数场景)但是说它不合逻辑是奇怪的,因为它有效.
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有