如何在特定输入(或表单字段)的主要浏览器中禁用自动完成功能?
<input type="text" id="fullname" name="fullname" class="form-control" data-required="true" value="<?php echo $_POST['fullname']?>" >
当我打开此表单时,即使我没有插入任何值,我也会看到此输入中的值。
答案 0 :(得分:3)
只需使用自动填充属性:
<input type="text" autocomplete="off"/>
&#34;当文本输入是一次性且唯一的时,这将非常有用。像一个 CAPTCHA输入,一次性使用代码,或者当您构建自己的代码时 自动建议/自动完成功能,需要关闭浏览器 。默认&#34;
来源:CSS Tricks
答案 1 :(得分:3)
我认为添加autocomplete="off"
会在大多数浏览器中出现错误,此外,autocomplete="off"
是无效的属性。
答案 2 :(得分:0)
您可以使用javasript或php生成一个随机字符串,并将其添加到输入name
的末尾,甚至可以使用定界符将其与实际的name
分开。
在php中,您可以使用类似session_id
之类的东西,并简单地echo
到name
的末尾。
<input type="text" autocomplete="off" name="example<?php echo "," . session_id()?>">
您可以使用自己选择的任何定界符替换","
,只要它不是字母数字即可。然后,在处理提交的数据时,可以将其从输入字段的实际name
末尾删除。
由于字段name
总是不同,因此您的浏览器无法自动完成该操作。
答案 3 :(得分:0)
解决方案1
<form name="form1" id="form1" method="post"
autocomplete="off" action="http://www.example.com/form.cgi">
这将在Internet Explorer和Mozilla FireFox中使用,缺点是它不是XHTML标准。
解决方案2
Chrome的解决方案是在输入类型密码中添加autocomplete="new-password"
。
示例:
<form name="myForm"" method="post">
<input name="user" type="text" />
<input name="pass" type="password" autocomplete="new-password" />
<input type="submit">
</form>
Chrome会在发现一个类型密码框的情况下自动完成数据填充,刚好足以指示该框autocomplete = "new-password"
。
这对我来说很好。
注意:请确保使用F12所做的更改生效,许多浏览器将页面保存在缓存中,这给我留下了不好的印象,即该页面不起作用,但浏览器实际上并未带来更改。
解决方案3
<input type="text" id="fullname" name="fullname" autocomplete="off" class="form-control" data-required="true" value="<?php echo $_POST['fullname']?>" >
链接