当用户在浏览器上单击“刷新”时,它会重新加载页面,但保留表单字段的内容。虽然我认为这是一个有用的默认值,但它在某些动态页面上可能会很烦人,从而导致用户体验不佳。

在 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 文档的正文加载事件中调用 forms 对象的 reset() 方法来清除表单。

h1。参考

我想知道,如果通过元标记设置页面不被缓存,是否可以解决问题? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html 如果是的话,它将具有在禁用 Javascript 的浏览器上工作的好处。

表单上的数据不属于 w3c 规范的一部分。这是一项让您的生活变得轻松的浏览器功能。因此,如果您不想在重新加载后保留数据,可以在加载后将所有表单的值设置为 null,如 Espo 所说。即使页面未缓存,它也会在表单上显示数据,因为数据不是页面 html 代码的一部分。您也可以尝试一下(不知道是否有效):

<input type="text" name="foo" value="">
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top