citicards.com如何使用特殊掩码实现登录ID文本框?
当您键入"johndoe“并将焦点突出时,文本框将变成”jo*oe“。
有带图案的HTML5面具吗?

发布于 2015-03-30 07:34:05
我会用一个虚拟的输入来显示。然后在模糊时,将值传递到隐藏的输入,并在虚拟中修改文本。如果用户想要改变值,您也可能希望相反:在焦点上,将值从隐藏的输入复制到虚拟。这里有一个示例,不需要jQuery,如果输入中少于5个字符,它将生成所有*s。
var start = 0;
var end = 4;
var dummy_user = document.getElementById("user");
var actual_user = document.getElementById("hidden_user");
dummy_user.addEventListener("blur", function() {
actual_user.value = dummy_user.value;
if (dummy_user.value.length > 4) {
start = 2;
end = dummy_user.value.length - 2;
}
var val = "";
for (var i = 0; i < start; i++) {
val += dummy_user.value[i];
}
for (i = start; i < end; i++) {
val += "*";
}
for (i = end; i < dummy_user.value.length; i++) {
val += dummy_user.value[i];
}
dummy_user.value = val;
});
dummy_user.addEventListener("focus", function() {
this.value = actual_user.value;
}); <form action="">
<input type="text" name="user" id="user">
<input type="hidden" name="hidden_user" id="hidden_user" value="">
<input type="password" name="password">
<input type="submit" value="Sign in">
</form>
https://stackoverflow.com/questions/29339752
复制相似问题