这是一个修改功能
旧密码,以“******”六个*号形式显示在输入框(旧密码并不是真的六个*)
本来以值还是不是六个*作为判断,密码有没有被重新输入
但是如果用户输入了六个*
就判断不了是本来就有的六个*
还是用户输入的六个*
如果被输入的,需要做非法字符判断
总结
如何判断这六个*是用户输入的,还是本来就有的
var password = document.getElementById("password");//取id
//聚焦变空
password.onfocus = function(){
$("#password").val("");
}
//失焦判断值长度
//无长度(无值)把*号放回,全局变量做记号,未入力新值
//有长度(有值)全局变量做记号,有入力新值
//下个check用这个全局变量判断这个值是不是用户自己入力的
password.onblur = function(){
var passwordV = $("#password").val();
if(passwordV.length>0){
pswBoor = true;
}else{
$("#password").val("******");
pswBoor = false;
}
}
这个比较密码应该是后台查询到密码,前台肯定是把密码传过来了,只是前台用*号去代替显示了,你不需要获取输入框得就密码,直接前台拿到密码那个数据。
用户没有输入的时候,显示6个*,只是前端展示的样式,不用写在input框里传给后端,同理,前端自己也可以做判断
前台给出三个输入框:旧密码,新密码,确认密码 类型都是password
用户输入旧密码,新密码,后台判断如果输入的旧密码和后端查询到的一致,则修改密码,否则报错
前台显示的星号应该只是你用*号把密码替换了而已 你可以在后台判断拿到的字符是不是*号啊 这样就可以判断啊 干嘛还要判断他是不是数据的呢 你从后台直接拿前台传过来的字符串判断是不是一串*号不就行了么
修改也不需要显示吧,输入旧密码,换行输入新密码
真实的密码是你从后台查询到的 ,而不是你从方框得到的。前台的旧密码的6个*号你不需要去处理,得到输入的密码后管他是谁的呢,你只需要和从后台得到的密码比较就行了
加一个onchange事件应该可以