浏览器刷新行为

时间:2008-09-09 15:45:20

标签: html http refresh

当用户在其浏览器上点击“刷新”时,它会重新加载页面,但会保留表单字段的内容。虽然我可以看到这是一个有用的默认设置,但在某些动态页面上可能很烦人,导致用户体验破坏。

在HTTP标头或等价物中,有没有办法改变这种行为?

6 个答案:

答案 0 :(得分:34)

<input autocomplete="off">

答案 1 :(得分:7)

这应该可以解决问题:

<body onload="document.FormName.reset();">

将FormName替换为您的表单名称,然后当用户在浏览器中单击刷新时,将重置所有字段。

或者,如果您只想重置某些字段,请将其添加到页面底部:

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

每次用户进入页面时都会重置字段,包括刷新

答案 2 :(得分:4)

将自动完成属性设置为“off”添加到您不想刷新的输入中。 例如:

<input type="text" name="pin" autocomplete="off" />

the W3C reference

虽然在参考文献中没有提到,但它也适用于复选框,至少在firefox上。

答案 3 :(得分:2)

您可以从html文档的body load事件中调用forms对象的reset()方法来清除表单。

H1。参考

答案 4 :(得分:0)

我想知道,如果您将页面设置为不通过元标记进行缓存,是否可以解决问题? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html如果确实如此,它将有利于在禁用Javascript的情况下使用浏览器。

答案 5 :(得分:0)

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

<input type="text" name="foo" value="">