我正在开发一个网站。我使用的是单页网页应用程序样式,因此网站的所有不同部分都是在index.php中进行AJAX。当用户登录并告诉Firefox记住他的用户名和密码时,网站上的所有输入框都会自动填充该用户名和密码。这是更改密码的表单上的问题。如何阻止Firefox自动填写这些字段?我已经尝试给他们不同的名字和ID。
修改:Someone has already asked this。谢谢Joel Coohorn。
答案 0 :(得分:27)
来自Mozilla的文档
<form name="form1" id="form1" method="post" autocomplete="off"
action="http://www.example.com/form.cgi">
[...]
</form>
http://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion
答案 1 :(得分:7)
autocomplete="off"
方法对我不起作用。我意识到firefox在它遇到的第一个密码字段中注入了保存的密码,因此对我有用的解决方案是在密码更新字段之前创建一个虚拟密码字段并隐藏它。像这样:
<input type="password" style="display: none;" />
<input type="password" name="password_update" />
答案 2 :(得分:2)
您是否尝试在输入标记中添加autocomplete =“off”属性?不确定它是否有用,但值得一试。
答案 3 :(得分:0)
是否所有输入框都设置为type = password?那样做会。你可以做的事情之一,我不能确定这是最好的答案是将输入框保留为输入类型,只需使用javascript和onkeydown事件将星号放在输入框中而不是浏览器渲染它。 Firefox不会预先填充它。
顺便说一句,我不得不在单页网页应用程序上工作,我绝对讨厌它。为什么要删除用户为页面添加书签的功能?要使用后退按钮?
答案 4 :(得分:0)
添加到此答案https://stackoverflow.com/a/30897967/1333247
这是为了防止您在密码字段前面也有一个“用户”字段,并且也想禁用自动填充功能(例如,路由器的网络配置,设置代理用户和密码)。
只需在虚拟密码字段前面创建一个虚拟用户字段即可隐藏用户名自动完成:
mongo:
image: mongo:3.2
volumes:
- ${MONGO_DATA_DB}:/data/db
- ${MONGO_DATA_CONFIG}:/etc/mongo/
ports:
- ${EXPOSED_MONGO_PORT}:27017
command: --config /etc/mongo/mongod.conf
每docs,这是关于登录自动完成的。要禁用普通的关键字(例如,完成搜索字词),只需使用
<input type="text" style="display: none;" />
<input type="password" style="display: none;" />
<input type="password" name="password_update" />
表格或输入中的属性。要同时禁用这两者,因为该属性不会禁用登录自动完成功能。