0

我有一个包含用户名、密码、电子邮件和电话字段的表格。但显示页面应将密码值显示为* . 只有在编辑时才应该显示值!例如:将我的密码设为 pass1234 它应该在列表页面中显示为*** 但是编辑它应该显示为 pass1234 。我怎样才能做到这一点 ?

4

2 回答 2

0

这需要一些 Javascriptonfocus处理程序:

field = document.getElementById('pass');
field.onfocus(function() { this.setAttribute('type','text'); });
field.onblur(function() { this.setAttribute('type', 'password'); });
于 2012-09-21T11:39:11.020 回答
0

您应该只在用户要求时以明文形式显示密码,例如通过单击按钮。你认为星号有什么用?

但是,您不能只设置type输入,因为 IE 不允许这样做。因此,您将需要完全替换该元素。为了

<input name="pw" id="pw" type="password"></input>
<label><input id="plain" type="checkbox"></input>Show plaintext</label>

JS 看起来像这样(使用 jQuery 进行事件附加和 co,如果需要,您应该能够适应它):

$("#plain").change(function() {
     var pw = $("#pw"),
         type = this.checked ? "text" : "password";
     if (type == pw.prop("type")) return;
     $("<input>", {name: "pw", id:"pw", type:type}) // could be done programatically
       .val(pw.val())
       .replaceAll(pw);
});
于 2012-09-21T11:44:54.447 回答