【问题标题】:auto complete off is not working on edge browser自动完成关闭在边缘浏览器上不起作用
【发布时间】:2019-11-04 13:12:31
【问题描述】:

我正在尝试提交表单,但它不会。提交一次后自动填充输入区域。但是,在自动填充输入后,它不会启用提交按钮。

因为它适用于其他浏览器。

我尝试在表单标签和输入标签中添加自动完成关闭属性,但没有成功。

<form autocomplete="off" ....````

【问题讨论】:

  • 尝试在输入标签中使用自动完成属性。它会帮助你。谢谢

标签: javascript jquery html


【解决方案1】:

这行得通,但不是您认为的那样。

官方应该是:autocomplete="off"

然而,许多浏览器奇怪地忽略了这一点。因此,最好在自动完成部分放一些随机字符串,例如:

autocomplete="autocomplete_off_randString"

请注意,确保每个输入的自动完成值不同(使用 JavaScript)。因此最后是随机字符串。否则,您可能会从具有相同自动完成值的字段中获得建议。

【讨论】:

  • 谢谢@Rokas。为每个自动完成属性分配一个唯一值对我有用。后来,我发现我的核心问题是我有两个输入元素,尽管它们具有唯一的元素 ID,但它们具有相同的元素名称。例如:&lt;input autocomplete="off" id="Parent_Name" name="Name" type="text" value="Parent A"&gt; ... &lt;input autocomplete="off" id="Child_Name" name="Name" type="text" value="Child B"&gt;。为这些输入元素提供唯一元素名称可以避免问题,然后我不需要为每个自动完成属性分配唯一值。
  • 哎呀,我猜对了一半。为此类输入元素提供唯一的元素名称可防止这些输入元素将其值添加到浏览器的自动完成文本值缓存中。但是,如果浏览器已经缓存了与此类输入元素关联的自动完成文本值,则仍然可以发生自动完成。因此,@Rokas 建议的为每个自动完成属性分配一个唯一值的解决方法仍然占了上风。
【解决方案2】:

在边缘为我工作autocomplete="false" readonly onfocus="this.removeAttribute('readonly');" / 根据这个https://stackoverflow.com/a/30344707/14913109

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2013-09-11
    • 2019-03-31
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2018-08-11
    • 2015-11-11
    相关资源
    最近更新 更多