通过历史记录重新访问时清除html表单

时间:2009-07-18 09:24:09

标签: php

我刚刚在带有表单的html页面中调用了PHP中的sendmail。它需要填写一些文本字段,然后按提交按钮导致邮件被发送。到目前为止一切都很好。

现在我需要在成功发送邮件时清除此表单。

我的猜测是,当移动到另一个页面时,Internet Explorer(或其他)会保存所有字段值。这样可以轻松返回浏览器历史记录并重新发送邮件。我想要的是,在成功传输邮件时,表单缓存(或其他)被清除。这必须在名为。

的PHP页面中完成

有没有人知道如何解决这个问题?

5 个答案:

答案 0 :(得分:1)

这是你在说什么?

SO393882 - Cross-browser techniques for disabling password caching

虽然他们大多谈论用户名/密码的东西,但我认为这些技术中的任何一种都可以阻止你需要阻止你的表单。特别是涉及散列/更改输入字段名称的解决方案,以及autocomplete=off标记中的<input>

答案 1 :(得分:0)

使表单页面无法访问,客户端每次都会请求它。

答案 2 :(得分:0)

如果唯一的问题是能够使用后退按钮读取表单:

window.onunload=function(){for(var i=0;i<document.forms.length;i++){document.forms[i].reset()}}

这假设使用表单不会卸载/离开页面。

答案 3 :(得分:0)

您可以通过AJAX提交表单,并在成功时发回Javascript,清除所有表单字段。

答案 4 :(得分:0)

另外,请与您的用户核实他们是否真的希望他们精心输入的数据消失。特别是如果他们希望他们的后退按钮让他们回到他们需要纠正错误的过程中的一个步骤(例如错误的电子邮件地址)。