我有一个用于编辑用户详细信息的表单。当我选择表单时,密码字段已经在其表单字段中显示密码..所以,当我只是更改其他的东西,然后尝试保存密码也进行更新.. 如何将密码字段留空... 这是迄今为止我尝试过的..但没有运气
<%= f.password_field :password, autocomplete: "off", class: "form-control", placeholder: "Leave as blank if you don't want to change password", value: "" %>
答案 0 :(得分:1)
这是解决此问题的最佳方法。这是浏览器问题,但是您必须从自己的角度解决此问题。这是您的一些javascript解决方案。您应该同时对password
和password_confirmation
进行此操作。只需添加readonly:"readonly", onfocus:"javascript: this.removeAttribute('readonly')"
以下是一个有效的示例:
<%= f.password_field :password, autocomplete: false, placeholder: "Leave it blank if you don't want to change your password", readonly:"readonly", onfocus:"javascript: this.removeAttribute('readonly')", class: "form-control" %>
如果需要,您将对CSS具有创造力。基本上,该字段是只读的,直到使用js单击(onfocus)您要删除readonly属性为止。因此,这种方式更加专业。
答案 1 :(得分:0)
您的代码没有问题。
尝试在浏览器中清除您的记住密码。这是因为您在登录时记住了用户。尝试清除缓存和其他所有事情。
答案 2 :(得分:0)
编辑:以前的黑客攻击不再适用于当前的Chrome。
现在,autocomplete="new-password"
可用。
喜欢这个
<input autocomplete="new-password" type="password" />
===========旧答案===========
将此标记放在表单的第一行。
<input type="password" style="display:none;" />
我认为这不是很酷,但它会阻止密码字段的自动填充。
答案 3 :(得分:-1)
请尝试按照以下步骤操作:
删除所有数据