• jQuery attr()实现改变密码显示状态报错的处理。


    一般我们做登录注册的时候都会提供一个让用户选择自己输入的密码是否显示的需求,

    这种需求我们肯定会想到只要动态改变input的type属性不就好了(text显示/password隐藏):

    于是我用了jQuery的attr()这个方法。

    代码如下:

    $(input).attr("type","password");

    然而结果并不是我想的那样,出错了!

    浏览器报错信息为:“Uncaught Error: type property can't be changed”!

    大概意思是input的type类型属性不能改变。

    。。。。。。查阅各种质料也看到各种解决方法,大体上都是如下这种的写法:

    <input id="showPwd" class="txt" type="text" value="密码" tabindex="2" />  
    <input id="pwd" class="txt" name="password" type="password" /> 
    var showPwd = $("#showPwd"), pwd = $("#pwd");  
    showPwd.focus(function(){  
       pwd.show().focus();  
       showPwd.hide();  
    });  
      
    pwd.blur(function(){  
       if(pwd.val()=="") {  
           showPwd.show();  
           pwd.hide();  
        }  
    });  

    简单来说就是用两个input来回切换着显示,互相获取对方输入的字符!
    这种办法我试了一手,可以实现,而且代码也不是很多。但是我总觉得怪怪的,这种需求应该这么实现?肯定不可能啊
    本人认为这个功能不应该那样麻烦。为了追求真理,本人不懈努力。。。。

    然后。。。。

    $(input).prop("type","password");//简单粗暴的实现了

    感谢谢阅读!再见

  • 相关阅读:
    C# 读取JSON
    checkbox与说明文字无法对齐的问题
    C#判断一个string是否为数字
    C# 调用系统winmm.dll 播放音乐wav mp3
    C#导出EXCEL的几种方法
    C#遍历DataSet中数据的几种方法总结
    cookie 简单用法
    JQGrid 在页面加载时展开SubGrid
    Echarts 设置地图上文字大小及颜色
    Echarts 地图上显示数值
  • 原文地址:https://www.cnblogs.com/kingchan/p/7477927.html
Copyright © 2020-2023  润新知