如何在页面重新加载时删除缓存数据?

时间:2014-01-01 06:37:39

标签: php html browser-cache

我有一份登记表。如果用户填写所有必填字段。

当他重新加载没有提交表单的页面时,这些字段包含用户输入的值。我希望它们在第一页加载时是空的。 我给字段赋予了值=“”但它们仍然包含先前输入的值。

<form id="registration_form" name="registration_form" method="post">

<input name="first_name" id="first_name" value="">
<input name="last_name" id="last_name" value="">
<input name="user_email" id="user_email" value="">
<input name="status" id="status" type="hidden" value="active">

</form>

3 个答案:

答案 0 :(得分:2)

这是表单自动填充,而不是页面缓存。您可以使用以下命令禁用自动填充功能:

<form id="registration_form" name="registration_form" method="post" autocomplete="off">

答案 1 :(得分:0)

如果你想先删除缓存(编辑前),有很多方法,

在页面上添加元标记

<meta http-equiv="Cache-control" content="no-cache">

通过使用javascript重定向,

window.location.href+'?eraseCache=true';

其他主题here中讨论了这些问题。

如果您只想删除字段上的值,

使用

document.getElementById('text_box_id').value="";
顶部标签顶部的

答案 2 :(得分:0)

请务必在表单中添加autocomplete =“off”。这是一些浏览器的自动完成问题,那么你需要使用id技巧,每次加载注册页面时,请说:

http://localhost/register.php

您可以手动尝试查看它是否适用于您正在测试的浏览器,例如在浏览器中加载此地址并查看它是否仍然自动填写表单:

http://localhost/register.php?id=23

你可以添加id = anynumber,这恰好可以正常工作,我用CSS导入这样做。为了使它更加PHP,您可以编写如下代码:

$number = rand(1,100);
header("Location: register.php?id=$number");

希望有所帮助