我有一个包含用户名,密码,电子邮件和电话字段的表格。但显示页面应显示密码值 * 。只有在编辑它时才应显示值! 例如:将我的密码作为pass1234 它应该在列表页面中显示为 *** 但是编辑它应该显示为pass1234。我怎么能这样做?
答案 0 :(得分:0)
这需要一些Javascript onfocus
处理程序:
field = document.getElementById('pass');
field.onfocus(function() { this.setAttribute('type','text'); });
field.onblur(function() { this.setAttribute('type', 'password'); });
答案 1 :(得分: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);
});