如何移除HTML输入框的自动补全(autocomplete)功能?附相关代码
解决HTML输入框自动补全禁用问题
这问题挺常见的,要禁用邮箱输入框的自动补全功能,只需要给input标签加个特定属性就行,我给你两种靠谱的方案,适配不同浏览器的情况:
方案1:标准禁用方式
直接给输入框添加autocomplete="off",这是W3C标准属性,明确告诉浏览器不要对这个字段做自动填充处理:
<div class="col-sm-9 form-group"> <label for="exampleFormControlInput1">Email Profissional: <small id="helpBlock" class="text-secondary"> <a class="not-active text-primary" data-toggle="tooltip" data-placement="right" title="Escreva o seu email profissional, caso não tenha email-profissional como por exemplo usa email com serviço @gmail, @hotmail entre outros... não exite e crie um em meros segundos."> <i class="fas fa-info-circle"></i> + info </a> </small> </label> <input type="email" name="email" id="email" class="form-control form-way" data-name="email" placeholder="Exemplo: info@<?= $pageData['name'] ?>.pt" value="<?= $pageData['email'] ?>" autocomplete="off"> </div>
方案2:针对顽固浏览器的小技巧
有些现代浏览器(比如Chrome)会对邮箱、密码这类字段忽略autocomplete="off",这时候可以用autocomplete="new-password"来绕开限制——这个属性原本是给新密码字段设计的,但浏览器会默认不对它进行自动填充:
<div class="col-sm-9 form-group"> <label for="exampleFormControlInput1">Email Profissional: <small id="helpBlock" class="text-secondary"> <a class="not-active text-primary" data-toggle="tooltip" data-placement="right" title="Escreva o seu email profissional, caso não tenha email-profissional como por exemplo usa email com serviço @gmail, @hotmail entre outros... não exite e crie um em meros segundos."> <i class="fas fa-info-circle"></i> + info </a> </small> </label> <input type="email" name="email" id="email" class="form-control form-way" data-name="email" placeholder="Exemplo: info@<?= $pageData['name'] ?>.pt" value="<?= $pageData['email'] ?>" autocomplete="new-password"> </div>
额外提示
如果想让整个表单的所有字段都禁用自动补全,也可以把autocomplete="off"直接加到<form>标签上,效果是一样的。两种方案你可以根据自己的目标浏览器兼容性来选,一般情况下方案1就够用了。
内容的提问来源于stack exchange,提问作者joaodjasdoasdsa
相关产品推荐
相关产品推荐

