怎样在浏览器中校验并修改密码

首先按照正常的逻辑要修改密码的话,有三个文本框,第一个是输入原始密码,第二个是输入新密码,第三个是确认新密码。

首先为每一个输入框添加一个onblur事件。

<form action = "/XYDL/changePassServlet" method = "POST" name = "form">

<label for = "oldpass" class = "labels">旧密码&nbsp;&nbsp;&nbsp;&nbsp;</label>
<input type = "password" id = "oldPass" name = "oldPass" placeholder = "请输入原始密码" onblur = "a()"/><span id = "span1"></span><br/><br/>

<label for = "newPass" class = "labels">新密码&nbsp;&nbsp;&nbsp;&nbsp;</label>
<input type = "password"  id = "newPass" name = "newPass" placeholder = "请输入新密码" onblur = "b()" disabled/><span id = "span2"></span><br/><br/>

<label for = "reNewPass" class = "labels">确认密码</label>
<input type = "password" id = "reNewPass" name = "reNewPass" placeholder = "再次输入新密码"  onblur = "c()"disabled/><br/><br/>

  <button type = "button" class="button" id = "change" onclick = "checkAll()">确认修改</button>

</form>

初始值除了输入原密码的文本框,下面两个文本框都属于禁用状态,当用户第当前这步成功之后使下一个文本框可用。每一个input后跟有一个span,用来显示密码输入与否。
确认修改中button有一个checkAll()事件,当前面三个
a(),b(),c()都返回为true时,才进行提交,否则进行错误提示。

接下来就是js:
首先获取到要用到的元素:

script type = "text/javascript">
var oldpass =document.getElementById("oldPass");
var newpass =document.getElementById("newPass");
var renewpass = document.getElementById("reNewPass");
var change = document.getElementById("change");

/*这行的passsword是通过在登录时获取到的登录的用户名和密码。通过String password =(String) request.getSession().setAttribute("cz_pass");设置的,方便在任何时候都可以通过下面的方法获取到(只要页面不关闭)*/
<%String password =(String) request.getSession().getAttribute("cz_pass");%>

获取到登陆时的密码后,要和文本框输入的密码进行对比,只要文本框失焦后,就出发a()函数:

function a(){
//校验成功,并且使下一个文本框可用
if(oldpass.value == "<%=password%>")
{                               $("#span1").css({"color":"green"});
$("#span1").text("√");
newpass.disabled = false;
}

//否则校验失败,显示错误信息,返回false;
else{                   $("#span1").css({"color":"red"});
$("#span1").text("密码错误");
return false;
    }
    return true;
}

//输入新密码的文本框的校验

function b(){

if(newpass.value == ""){
                $("#span2").css({"color":"red"});
$("#span2").text("密码不能为空");
return false;
}
else if(oldpass.value == newpass.value){
    $("#span2").css({"color":"red"});
    $("#span2").text("不能与原始密码相同");
    return false;
    }
    else{
    $("#span2").css({"color":"green"});
    $("#span2").text("√");
    renewpass.disabled = false;
    }
  return true;
 }

//检验两次密码输入是否一致的c函数

function c(){
    if(renewpass.value != newpass.value){
        alert("两次密码输入不一致!");
        return false;
    }
    return true;
    }

最后点击提交按钮,执行checkAll()函数。

function checkAll(){
    if(a()&&b()&&c()){
        document.form.submit();
    }
    else{
        alert("输入信息不完整!");
        return false;
    }
}

当三个函数都返回true时,提交表单到后台。否则返回false,肯定是某一步输入有误,都会有提示的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值