html5 – Firefox缓存隐藏的输入

我的表单中有一个隐藏的输入字段.我注意到,如果该字段的值由 javascript更改,然后用户刷新页面,那么当页面重新加载时,该值将被设置.从我所看到的,这只发生在Firefox.

我已经通过将autocomplete =“off”添加到隐藏的输入来解决了这种不必要的行为,但W3C不喜欢这个解决方案,如果我验证页面,我会收到错误

Attribute autocomplete not allowed on element input at this point.

显然,自动完成属性仅适用于特定输入 – see here.

那么有什么解决方案可以满足W3C和Firefox?

解决方法

验证(我不会尽可能多的努力),我想你可以在整个表单上使用autocomplete =“off”,然后选择性地将其重新打开,如下所示:
<!DOCTYPE html>
<html>
<head>
    <title>TEST</title>
</head>
<body>
    <form autocomplete="off">
        <input type="hidden" name="test">
        <input type="text" name="otherfield" autocomplete="on">
    </form>
</body>
</html>

我最初以为这是Firefox的错误,但在与评论中的罗伯特讨论之后,我认为预期的行为取决于具体的用例.该规范不允许自动完成隐藏的字段,所以我的第一反应仍然感觉正确,但Firefox的实现可能有一些很好的参数来支持它.请给出意见.

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码