快捷搜索: 王者荣耀 脱发

密码隐藏/显示的简单实现

实现原理:

原理很简单,就是通过对显示密码单选框选中状态的判断,使用Jquery(或者JS)动态改变密码输入框的type为password或者text。具体的其他样式可以再添加,但是代码是不变的。

具体代码:

<h3>登录 信息</h3>
    <div>
        <span>密码(6-20位以字母开头只能包含字母、数字、下划线)<label style="color:red;">*</label> <font id="passwordMSG"></font></span>
	<input type="password" name="password" id="password" maxlength="20" required οnblur="checkPwd(this.value)">
    </div>
    <div>
        <span>重复密码<label style="color:red;">*</label> <font id="mm2MSG"></font></span>
        <input form="other" type="password" id="mm2" maxlength="20" required οninput="checkPwd2(this.value)">
    </div>
    <div class="clear"></div>
    <a class="news-letter" href="#">
        <label class="checkbox">
        <input type="checkbox" οnclick="checkit(this.checked)"><i></i>显示密码</label>
    </a>

可以看到单选框绑定了onclick事件,并将选中状态(this.checked)传了过去:

/*显示密码*/
function checkit(isChecked) {
    if (isChecked) {
        $("#password").prop("type", text);
        $("#mm2").prop("type", text);
    } else {
        $("#password").prop("type", password);
        $("#mm2").prop("type", password);
    }
}

至此就大功告成了;

最后说一下可能会遇到的坑:prop与attr的选择

    对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。


经验分享 程序员 微信小程序 职场和发展