【问题标题】:How do you disable input value on web form field / input tag?如何禁用 Web 表单字段/输入标签上的输入值?
【发布时间】:2014-10-19 05:11:47
【问题描述】:

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

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

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

【问题讨论】:

  • 您正在使用 php echo 语句设置值。
  • 不,点击提交时它的显示值,但在点击提交之前它的显示值必须为空
  • 我不确定我是否理解,但 $_POST['fullname'] 将是表单提交时的值,因此如果您输入内容并提交,它将将该值保留在形式。
  • 如果你说它不应该有一个价值......你正在设定价值!如果您不希望某个值存在,请不要设置它。
  • 我删除它仍然显示价值

标签: javascript jquery html autocomplete


【解决方案1】:

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

尝试检查Mozilla Developer Documentation

【讨论】:

  • @khalidahmed 您也可以尝试将 autocomplete="off" 放入表单标签中
【解决方案2】:

只需使用自动完成属性:

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

“当文本输入是一次性且唯一的时,这将很有用。就像一个 验证码输入,一次性使用代码,或当您自己构建时 自动建议/自动完成功能,需要关闭浏览器 默认。”

来源:CSS Tricks

【讨论】:

  • 我这样做了,但仍然有价值
【解决方案3】:

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

在 php 中,您可以为此使用 session_id 之类的内容,只需将 echo 放在 name 的末尾即可。

&lt;input type="text" autocomplete="off" name="example&lt;?php echo "," . session_id()?&gt;"&gt;

您可以将"," 替换为您选择的任何分隔符,只要它不是字母数字即可。然后在处理提交的数据时,可以从输入字段实际name的末尾去掉。

name 字段总是不同的,您的浏览器无法自动完成它。

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

【讨论】:

    【解决方案4】:

    解决方案 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 找到一个 type password 框,它总是自动完成数据,这足以指示该框 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

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 2019-04-01
      • 2010-09-05
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      相关资源
      最近更新 更多