删除输入框自动完成的方法

时间:2009-12-12 13:32:53

标签: html forms autocomplete input

我需要一个不使用自动完成功能的文本输入字段 - 如果用户之前已经提交过表单,那么他以前提交的内容应该会在他再次输入表单时出现,即使他输入相同的内容再次。据我所知,有几种方法可以做到这一点:

1。 <form autocomplete="off">
但是,我认为这是一个专有标签,我不确定它与浏览器的兼容性

2。为输入字段提供随机的“名称”
甚至可以使用JS在提交之前将名称设置回预期值。但是,如果用户没有安装JS,则需要另一个带有名称的隐藏输入 - 另一方面的php代码会变得很乱。

你知道其他任何方式吗?这些方式之一是“接受”的方式吗?评论

谢谢,
马拉

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

坚持使用随机名称。你只需要足够的服务器和客户端就可以满足你的no-js要求。

答案 2 :(得分:0)

您可以在输出表单之前将原始名称和更改后的名称存储在$_SESSION变量中,在用户提交后,只需从中获取名称:

$random_name = md5('original_name' . time());
$_SESSION['original_name'] = $random_name;

...output form...

提交后,您可以使用$_POST变量轻松获取$_SESSION的值:

$field_value = $_POST[$_SESSION['original_name']];

在进行任何处理之前,请确保通过调用session_start()来确保会话可用。

答案 3 :(得分:0)

自动填充是浏览器决定自己完成的事情,因此肯定没有要查看的规范文档。