我发现了我认为是 Firefox 的一个错误,我想知道这是否真的是一个错误,以及解决这个问题的任何解决方法。
如果您使用以下来源创建基本网页:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
</head>
<body>
<div>
<input id="txtTest" type="text" />
<input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
<input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
<input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
</div>
</body>
</html>
如果您动态禁用
文本框
然后刷新页面,文本框
将保持禁用状态而不是重置回其原始状态没有禁用。我已经在 IE8 和 Chrome 中尝试过这个,它们的行为与我预期的一样,在我刷新时将 textbox
重置为未禁用。
另一个有趣的信息是,如果输入是 checkbox
而不是 textbox
,它仍然会做同样的事情。
最佳答案
这是 Firefox 的一项“功能”,它会在页面刷新时记住表单输入值。要修复此行为,您只需在包含输入的表单上设置 autocomplete="off"
,或者直接设置输入。
这会停止自动完成功能并阻止浏览器记住输入字段的状态。
或者,您可以通过单击 CTRL+F5 来“硬刷新”。这将完全重置当前页面。
关于html - Firefox 的错误 - 输入的禁用属性在刷新时不重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985839/