用ajax寫出的舊密碼驗證功能

來源:互聯網
上載者:User

1 頁面:把舊密碼文字框設為html控制項,調用javascript函數比較方便,旁邊放一個div,用來顯示提示

<th style="width : 60px" >
                                    舊密碼:</th>
                                <td colspan="3">
                                    <input id="TB_OldPass" type="password" onblur="CheckPass()"  />
                                    <div id="Pass_Txt" style="z-index: 101; left: 468px; width: 100px; position: absolute; top: 48px;
                                        height: 17px; display : none">
                                    </div>

當舊密碼文字框失去焦點時,即觸發驗證事件CheckPass();

該函數在另一js檔案內,別忘記引用到本頁面

<script language="javascript" type="text/javascript" src="js/CheckPass.js"></script>

檔案ChekcPass.js代碼

 

function CheckPass()
{
    //首先擷取舊密碼字元
    var keys=document.getElementById("TB_OldPass").value;

            //非同步傳輸資料
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.onreadystatechange=statechangeLoad;
    //打ModifyPass.aspx檔案執行後台代碼
   xmlhttp.open("GET","ModifyPass.aspx?Pass="+encodeURI(keys),true);
   xmlhttp.send(null);

  
}

function statechangeLoad()
{
    if (xmlhttp.readystate==4)
    {
        if (xmlhttp.status==200)
        {
           
            //根據密碼驗證的結果,在頁面得到相應的顯示
            document.getElementById("Pass_Txt").innerHTML=xmlhttp.responseText;
            document.getElementById("Pass_Txt").style.display="";
            //再根據所顯示的字元來決定新密碼是否允許被填寫
            if ( document.getElementById("Pass_Txt").innerHTML=="舊密碼驗證成功" )
                {
                    document.getElementById("TB_NewPass").readOnly=false;
                    document.getElementById("TB_NewRePass").readOnly=false;
                }
            else
                {

                    //直接讓舊密碼文字框再獲得焦點,更人性化
                     document.form1.TB_OldPass.focus();

                }
        }
    }
}

驗證密碼事件主要靠ModifyPass.aspx頁面的Page_Lode事件

protected void Page_Load(object sender, EventArgs e)
        {
            //得到傳過來的密碼的字串
            string Pass =Tools.GetMD5( Request.QueryString["Pass"].ToString());
            //得到目前使用者的ID
            //string CurrentUserId = Session["CurrentUserId"].ToString();
            string CurrentUserId = "4";
            //進行判斷,看傳過來的使用者ID和密碼是否匹配
            DataSet ds = new DataSet();
            if (Business.Patient.CheckPass(Convert.ToInt32(CurrentUserId), Pass))
            {
                Response.Write("舊密碼驗證成功");
            }
            else
            {
                Response.Write("舊密碼驗證失敗");
            }
        }

該頁面回傳的就是密碼驗證的結果,由首頁面顯示。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.