2012-01-09 71 views
3

我渲染一个下拉框,包含使用selected="true"当前选择的值。浏览器缓存选择标签的状态,而忽略选定=“真实”

<select id="dropDown"> 
    <option selected="true" value="1">value2</option> 
    <option value="2">value3</option> 
    <option value="3">value4</option> 
</select> 

最初选定的值对应于selected="true",但如果我玩的下拉框,然后刷新页面selected="true"被忽略,所显示的值是最后一个,我选择。我试着用selected="selected"得到了相同的结果。 感谢您的帮助。

+0

http://stackoverflow.com/questions/2486474/preventing-firefox-from-remebering-the-input-value-on-refresh-with-meta-tag – j08691 2012-01-09 16:57:09

回答

6

您选择字段更改为<select id="dropDown" autocomplete="off">

+0

谢谢,现在它工作正常。 – 2012-01-09 17:01:01

+0

我的天啊!我通过完美的语义代码发现了这个问题。你可以扩展为什么这个作品? – Sablefoste 2013-08-26 21:29:01

-1

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

<option selected="selected" value="1">value2</option> 

或:

<option selected value="1">value2</option> 
+0

我的可能的复制尝试了这种方法,它不会改变行为。不过谢谢。 – 2012-01-09 16:56:38

+0

尽管您对所选值的语法正确,但他正在寻找停止页面缓存更改的字段值。 – j08691 2012-01-09 16:58:12

+0

你有没有想过,也许浏览器缓存你的最后一个选择? – 2012-01-09 16:59:07

0

为了获得最佳的浏览器支持它实际上是(虽然它似乎很愚蠢的)最好使用

autocomplete="nope" 

要报价MDN:

在某些情况下,浏览器将继续提示自动完成值即使autocomplete属性设置为off 。对于开发者来说,这种意想不到的行为可能会令人费解。诀窍真正 迫使无自动完成是一个随机字符串分配给 属性...

...因为这个随机值不是一个有效的,浏览器会给 起来。

https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion