当用户在浏览器上点击刷新时,它会重新加载页面但保留表单字段的内容。虽然我可以看到这是一个有用的默认设置,但在某些动态页面上可能会很烦人,从而导致用户体验受损。
有没有办法在 HTTP 标头或等效项中改变这种行为?
<input autocomplete="off">
这应该可以解决问题:
<body onload="document.FormName.reset();">
将 FormName 替换为您的表单名称,然后当用户在浏览器中单击刷新时,所有字段都将被重置。
或者,如果您只想重置某些字段,请将其添加到页面底部:
<script type="text/javascript">
document.getElementById('field1').value ='';
document.getElementById('field2').value ='';
document.getElementById('field3').value ='';
</script>
这将在用户每次进入页面时重置字段,包括刷新
将设置为“关闭”的自动完成属性添加到您不想刷新的输入。例如:
<input type="text" name="pin" autocomplete="off" />
参见 W3C 参考
尽管参考文献中没有提到,但它也适用于复选框,至少在 firefox 上是这样。
您可以从 html 文档的正文加载事件中调用表单对象的 reset() 方法来清除表单。
h1。参考
我想知道,如果您将页面设置为不通过元标记进行缓存,那会解决问题吗?http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html如果是这样,它将有利于在禁用 Javascript 的浏览器上工作。
表格上的数据不是 w3c 规范的一部分。这是一项让您的生活变得轻松的浏览器功能。因此,如果您不想在重新加载后保留数据,您可以在加载后将所有表单的值设置为 null,正如 Espo 所说。即使页面没有被缓存,它也会在表单上显示数据,因为数据不是页面 html 代码的一部分。你也可以试试这个(不知道能不能用):
<input type="text" name="foo" value="">