JavaScript 动态切换 Input 类型:密码可见性控制

作者:木棉

时间:2026-10-30

浏览:351

本文介绍如何利用JavaScript动态修改input元素的type属性,实现密码输入框在明文与密文之间的切换。通过移除旧元素并重新创建具有新type值的input节点,结合checkbox控件触发事件,完成密码可见性的交互控制。

文章目录

动态切换 Input 类型的原理

在Web开发中,有时需要允许用户动态切换输入框的类型,例如将密码框切换为明文显示框,或反之。这种功能通常通过JavaScript动态修改input元素的type属性来实现。

具体的代码实现逻辑如下:首先获取包含目标input的父容器元素,然后移除原有的input节点。接着,创建一个新的input元素,根据当前type的值判断是设置为text还是password,并赋予其相应的id、name和maxlength等属性,最后将新创建的input节点重新插入到父容器中。

JavaScript 实现代码


<script type="text/javascript">
  function shoppw(thebox){
    var ps = document.getElementById('ps');
    var pass = document.getElementById('pass');
    ps.removeChild(pass);
    var psImput = document.createElement("INPUT");
    
    if(pass.type == 'password'){
      psImput.type = "text";
    } else {
      psImput.type = 'password';
    }
    psImput.id = 'pass';
    psImput.name = "password";
    psImput.maxlength="15";
    ps.appendChild(psImput);
  }
</script>

对应的HTML结构部分,主要包含一个用于显示密码的input元素,以及一个复选框(checkbox)用于触发切换操作。复选框绑定了一个点击事件,当用户勾选或取消勾选时,调用相应的JavaScript函数来处理input类型的切换。

HTML 结构示例


<td class="label"> * <label for="password" accesskey="">登录密码:</label></td>
  <td ><div id="ps"><input type="text" name="password" maxlength="15" id="pass" /></div>
   <input name="checkbox2" type="checkbox" value="true" checked="checked" id="show" onclick="shoppw(this)" />
   <label for="show" accesskey="">显示</label></td>

通过上述方法,可以在运行时动态改变input元素的type属性值,从而实现密码显示与隐藏的交互效果。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章