Html 浏览器缓存选择标记状态并忽略选定项=";“真的”;

Html 浏览器缓存选择标记状态并忽略选定项=";“真的”;,html,browser,Html,Browser,我正在使用selected=“true”呈现包含当前选定值的下拉框 价值2 价值3 价值4 最初选择的值对应于selected=“true”,但如果我使用下拉框,然后刷新页面,则会忽略selected=“true”,显示的值是我最后选择的值。我尝试使用selected=“selected”,结果相同。 感谢您的帮助。这是一个二进制值,不是属性(出于某种原因)。使用: value2 或: value2 将您的选择字段更改为以获得最佳浏览器支持,实际上(尽管它看起来很愚蠢)使用起来更好 aut

我正在使用
selected=“true”
呈现包含当前选定值的下拉框


价值2
价值3
价值4
最初选择的值对应于
selected=“true”
,但如果我使用下拉框,然后刷新页面,则会忽略
selected=“true”
,显示的值是我最后选择的值。我尝试使用
selected=“selected”
,结果相同。
感谢您的帮助。

这是一个二进制值,不是属性(出于某种原因)。使用:

value2
或:

value2

将您的选择字段更改为

以获得最佳浏览器支持,实际上(尽管它看起来很愚蠢)使用起来更好

autocomplete="nope"
引用MDN:

在某些情况下,浏览器会不断建议自动完成值 即使“自动完成”属性设置为“关闭”。这出乎意料 对于开发人员来说,行为可能相当令人费解。真正 强制不自动完成是将随机字符串分配给 属性

…由于此随机值无效,浏览器将给出 起来


我尝试过这种方法,但它不会改变行为。谢谢。虽然你对所选值的语法是正确的,但他希望阻止页面缓存已更改的字段值。你是否想过浏览器可能正在缓存你的上一个选择?我知道它正在缓存它,我想停止缓存它。也许我应该更好地沟通。顺便说一句,我没有投你反对票。你也可以通过使用document.forms[0].reset()(或任何你正在使用的表单名称)来实现这一点,这可能是我的天哪!我通过完美的语义代码发现了这个问题。你能详细解释一下为什么这样做吗?
<option selected="selected" value="1">value2</option>
<option selected value="1">value2</option>
autocomplete="nope"