Javascript 在显示和隐藏密码之间切换

标签 javascript passwords hide show

我一直在从事一个项目,该项目要求我在密码字段中显示和隐藏密码之间切换。

我想出的JS代码是:

<script>
  function text(item) {
    if (document.getElementById('password').type = "password") {
      document.getElementById('password').type = "text";
    } else {
      document.getElementById('password').type = "password";
    }

  }
</script>
<input type="checkbox" id="logon-show-password" name="showpassword" class="tickable" onclick="text(this)">

<input type="password" id="password" />

出于某种原因,它在密码 -> 文本之间切换时工作得很好,但无法执行相反的操作。

我做错了什么?

最佳答案

if 条件中缺少 =

if(document.getElementById('password').type="password"){
                                          ^^^^

应该是

if(document.getElementById('password').type=="password"){

否则它将向该字段分配类型密码,并且始终返回 true

function text(item) {
  if (document.getElementById('password').type == "password") {
    document.getElementById('password').type = "text";
  } else {
    document.getElementById('password').type = "password";
  }

}
<input type="checkbox" id="logon-show-password" name="showpassword" class="tickable" onclick="text(this)">
<input id="password" type="password" />

关于Javascript 在显示和隐藏密码之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45876474/

相关文章:

javascript - JavaScript(Vanilla,没有jQuery)-具有* Async * AJAX(XMLHttpRequest)调用的函数的行为与async相同?

passwords - 为什么 PBE 使用不同的盐和迭代次数生成相同的 key ?

java - 正确输入下一个 Activity 的文本

vba - 隐藏或取消隐藏所有 Excel 工作表而不循环

php - 使用sql从php分页系统中隐藏一些页面

Javascript - 写入新标签的链接

javascript - Angular limitTo 过滤器的第二个参数 "begin"似乎在 Angular 1.3 中不起作用

javascript - 在页面加载时隐藏菜单,需要在单击超链接时填充

javascript - 使用 Yup 验证日期选择器

mysql - 如何在 Mysql 4.1 中关闭旧密码