我正在重新加载包含以下代码的网页:
<label for="showimage">Show Image</label>
<input id="showimage" name="showimage" type="checkbox" value="1" />
Run Code Online (Sandbox Code Playgroud)
即使每次重新加载页面时发送到浏览器的HTML都是相同的,但在执行重新加载时,复选框始终采用检查的值.换句话说,如果用户选中复选框并重新加载,则仍会选中该复选框.
这里有缓存吗?
编辑:我在下面尝试了Gordon Bell的解决方案,发现即使删除了值="1"后仍然会发生这种情况.还有什么我可能会失踪的?
<label for="showimage">Show Image</label>
<input id="showimage" name="showimage" type="checkbox" />
Run Code Online (Sandbox Code Playgroud)
小智 146
添加autocomplete="off"到页面上的表单元素.缺点是这不是有效的XHTML,但它解决了问题,没有任何复杂的JavaScript.
Owe*_*wen 35
是的,我相信这是缓存.我在Firefox上看到了这种行为(不是Safari,因为它值得:)).
您可以使用CTRL- 重新加载页面并绕过缓存(在Firefox上)SHIFT,R并且您将看到检查值不带(正常CTRL- 但是R会从缓存中获取信息)
编辑:我能够在Firefox上禁用此服务器端,设置缓存控制标头:
Cache-Control: no-store
Run Code Online (Sandbox Code Playgroud)
这似乎禁用了Firefox的"记住表单值"功能
Rai*_*hen 30
使用js设置autocomplete ="off"也运行良好.
例如使用jquery:
$(":checkbox").attr("autocomplete", "off");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52177 次 |
| 最近记录: |