在 View 中,我有以下 ruby 代码:
Password: <input type="password" value= <%= @user_credentials.first.encrypted_password %> id="myInput">
<input type="checkbox" onclick="myFunction()"> Show Password
在 js 文件 app/assest/js
中,我有以下功能,
但在选中复选框时无法切换密码。
function myFunction () {
var x = document.getElementById("myInput");
if (x.type === "password") {
x.type = "text";
} else {
x.type = "password";
}
}
最佳答案
如果任何用户忘记添加引号,浏览器会自动添加引号。这是浏览器的行为。因此,如果您在任何属性后放置任何空格,浏览器会自动在其周围加上引号,并且它会忽略该空格后的所有内容。这会弄乱您元素的标记代码。
标记中的任何属性后都不应有空格。
value= <%= @user_credentials.first.encrypted_password %>
您可以通过将它们用引号括起来来修复它:
value="<%= @user_credentials.first.encrypted_password %>"
关于javascript - 如何切换密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337476/