如何在Web表单字段/输入标记上禁用输入值?

时间:2014-08-26 00:30:34

标签: javascript jquery html autocomplete

如何在特定输入(或表单字段)的主要浏览器中禁用自动完成功能?

<input type="text" id="fullname" name="fullname" class="form-control" data-required="true" value="<?php echo $_POST['fullname']?>" >

当我打开此表单时,即使我没有插入任何值,我也会看到此输入中的值。

4 个答案:

答案 0 :(得分:3)

只需使用自动填充属性:

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

&#34;当文本输入是一次性且唯一的时,这将非常有用。像一个   CAPTCHA输入,一次性使用代码,或者当您构建自己的代码时   自动建议/自动完成功能,需要关闭浏览器   。默认&#34;

来源:CSS Tricks

答案 1 :(得分:3)

我认为添加autocomplete="off"会在大多数浏览器中出现错误,此外,autocomplete="off"是无效的属性。

请尝试检查Mozilla Developer Documentation

答案 2 :(得分:0)

您可以使用javasript或php生成一个随机字符串,并将其添加到输入name的末尾,甚至可以使用定界符将其与实际的name分开。

在php中,您可以使用类似session_id之类的东西,并简单地echoname的末尾。

<input type="text" autocomplete="off" name="example<?php echo "," . session_id()?>">

您可以使用自己选择的任何定界符替换",",只要它不是字母数字即可。然后,在处理提交的数据时,可以将其从输入字段的实际name末尾删除。

由于字段name总是不同,因此您的浏览器无法自动完成该操作。

来源:https://stackoverflow.com/a/218453/12251360

答案 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']?>"  >

链接

解决方案3参考:https://stackoverflow.com/a/25496311/6923146

解决方案2参考:https://stackoverflow.com/a/40791726/6923146