【发布时间】:2022-01-27 18:46:49
【问题描述】:
Firefox 有一个非常烦人的功能。当您按下 F5 时,它会记住输入字段的状态。它不仅仅是值,它甚至会记住输入是否被禁用。
示例:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
</head>
<body>
<input type="text" value="textbox" />
<a href="#" onclick="javascript: $('input').attr('disabled', true); return false; " >Disable text box</a>
</body>
</html>
上面的代码有一个锚点,当点击它时,会禁用文本输入字段。之后,Firefox 会记住 F5 之后的状态,只有在地址栏按回车才能恢复到原来的状态。
是否有元标记或其他东西让 FF 停止这样做?
编辑
实际上浏览器有不同的行为。火狐是最烦人的。 Firefox 会记住输入值以及它是否被禁用。 IE8 记住值,Chrome 什么都不记得
【问题讨论】:
-
禁用时为什么不用
.val('')清除它? -
问题是当我按下 F5 时它被禁用了
-
只需在页面加载时删除“禁用”属性,如下所示:
$('input').removeAttr('disabled'); -
对于那些感兴趣的人,这里是关于这个的错误(请不要在那里评论“请修复这个”):bugzilla.mozilla.org/show_bug.cgi?id=654072
-
看起来是bug报告打开8年后,一直没有修复。