使用 jQuery 将 HTML 文本输入更改为密码输入

use*_*568 2 html passwords jquery text input

我有一个文本输入,它有一个默认值“密码”。

当用户单击此字段时,即当焦点设置到此文本字段时,我想将输入类型更改为密码..

我已经使用 jQuery 尝试过这个,但没有乐趣:

$("#passwordtxt").click(function(e){
    e.stopPropagation();
    if($("#passwordtxt").val() == "Password"){    
      $("#passwordtxt").val("");      
    }
    $("#passwordtxt").attr('type','password');
});
Run Code Online (Sandbox Code Playgroud)

这是它适用的 HTML:

<form name = "loginform" action = "get_login.php" method = "post">
   <input id = "emailtxt" name = "username" type="text" size="25" value = "E-mail"/>
   <input id = "passwordtxt" name = "password" type="text" size="25" value = "Password"/>                                    
</form>
Run Code Online (Sandbox Code Playgroud)

结果:它不会将类型更改为密码,它只是保留为文本...

Nay*_*ish 5

更好的解决方案是使用placeholder属性,该属性将完全实现您想要的功能,而无需大惊小怪地更改输入框的类型。

否则,您将希望将该属性作为属性而不是作为属性使用:

.prop("type", "password");
Run Code Online (Sandbox Code Playgroud)