【发布时间】:2015-12-27 11:08:54
【问题描述】:
在我的网站上,登录页面上有两个字段:一个用于电子邮件,一个用于密码。如果我已经注册、退出并返回登录,Chrome 会将用户名自动填充到电子邮件文本框中,而不是电子邮件地址。
<div class="inputs">
<%= devise_error_messages! %>
<label id="maincontent" class="control-label sr-hidden" for="email">Email Address</label>
<input id="email-input" name="email" type="email" required='true' autocompletetype='email' autofocus='true' placeholder='Enter your email address...'/>
<label class="control-label sr-hidden" for="password">Password</label>
<%= f.password_field :password, :required => false, :placeholder => "Enter your password...", :id => "password" %>
</div>
此外,如果我完全删除密码字段,则电子邮件字段中根本不会发生自动填充,它会留空。但是,如果您单击该字段,则会弹出下拉自动完成菜单。
编辑[已解决]: 我在注册页面上切换了姓名和电子邮件字段
chrome 将“默认登录凭据”状态分配给注册页面上密码正上方的任何字段
它会自动调用该凭据以自动填充登录页面上密码字段上方的字段
它需要一个人去设置>密码和表格>管理密码并删除错误的默认值,然后在更正的表格上再次登录/注册
【问题讨论】:
-
你想发生什么?您是否希望电子邮件和用户名字段自动完成(正确)?只是带有电子邮件地址的电子邮件字段?等
-
电子邮件字段应预先填充之前提供的电子邮件...目前填充的是姓名,而不是电子邮件。
-
您可以尝试在用户名字段中添加
autocomplete=off,这样就不会发生冲突 -
但登录页面上没有用户名字段。您的意思是在注册页面上的相应表单中添加 autocomplete=off 吗?
-
值得一试。 chrome 显然混淆了这两个领域。其他一些事情将确保用户名注册被正确命名(它不会被
name='email'意外复制),并删除autocompletetype。我本来希望这能真正解决你的问题,但你也许可以尝试删除它
标签: html google-chrome web autocomplete autofill