问题是这样的:因为浏览器会自动给input属性为password的框进行赋值,
所以我这里感觉就不能用password属性,我现在想用text文本框,但是输入时自动变成
密文,请教大神有什么好方法?
自己写的,比较简陋
var m = '';
var n = '';
$('input[name=myinput]').keyup(function(e){
var key = e.which;
if(key==8){
n=n.substr(0, n.length - 1);
m=m.substr(0, m.length - 1);
}else{
n +='*';
m+=String.fromCharCode(key);
}
$(this).val(n);
alert(m);
});
你可以在进入页面的时候吧password赋值为空字符串就好了
你是说要在前端进行加密么...
参考 http://www.jb51.net/article/35878.htm
那是因为那个输入框,你在浏览器设置了记住密码之类的,导致下一次还是会自动带上
这个是我当前的代码,思路就是 当用户按下一个键的时候先获取到输入的值,然后在根据输入值的长度来对应生成‘*’号,当文本框的值被删除完后则记录密码的变量也清空,现在存在的问题就是:当我输入很快的时候,truePassowrd这个变量就无法准确的获取到文本框里的值了
```"keydown" : function(t,e){
var xingxing = '';
var newValue = '';
setTimeout(function(){
//当按下上下左右键是不生效
if(37>e.keyCode || 40<e.keyCode){
var xingxing = '';
var newValue = text.getValue();
truePassword += newValue.substr(-1,1);
//如果按下删除键,则密码对应删除一位
if(8==e.keyCode){
truePassword = truePassword.slice(0,truePassword.length-2);
}
for(var i=0;i<newValue.length;i++){
xingxing+="*";
}
text.setValue(xingxing);
}
},200);
if(''===newValue){
truePassword = '';
}
}
https://blog.csdn.net/weixin_43043994/article/details/97890856 可以看看这篇