1. 程式人生 > >登入頁面登入名和密碼錯誤提示解決方案

登入頁面登入名和密碼錯誤提示解決方案

      登入頁面需要做到登入名和密碼錯誤的提示,效果如下圖示所示:

       需要在form提交的地方寫下onsubmit="return loginCheck();" ,onsubmit是再提交之前進行的方法,你可以在這個方法裡寫邏輯校驗,如果不符合要求,返回 false,form就不會提交。程式碼如下:

<form action="<c:url value='/loginCheck.htm' />" method="post" id="login_form" onsubmit="return loginCheck();">
//登入前校驗使用者名稱和密碼是否正確
	    function loginCheck(){
	    	var name = $("#loginUser").attr("value");    //使用者名稱
	    	var pwd = $("#loginPwd").attr("value");      //密碼
	    	var datas = new Object();                  //返回來的結果
		    $.ajax({  
                type: "post",  
                contentType:"application/string",
                dataType:"json",
                async:false,
                url : "${base}/loginResult.htm?name="+name+"&pwd="+pwd, 
                success: function (data) {   

                	datas = eval("("+data+")");
                	
              	}   
           	});
		    
		    if(datas.result == "nameFalse"){                 //使用者名稱不正確
        		layer.tips('使用者名稱不存在!', '#loginUser', {
           		  tips: [2, '#FF3030'],
           		  time: 2000
           		});
        		return false;
            }else if(datas.result == "pwdFalse"){            //密碼不正確
            	
        		layer.tips('密碼不正確	!', '#loginPwd', {
           		  tips: [2, '#FF3030'],
           		  time: 2000
           		});
        		return false;
            }else{
            	return true;
            }
            
	    }


        這裡的提示是用到國產的外掛layer.js,很實用,支援國產。運用jQuery 的ajax返回資料的時候注意把字串轉換成 json物件,運用eval()方法;

       最後是我需要ajax執行之後,才開始下面的邏輯判斷,需要配置 async:false,不然預設非同步進行,這裡需要注意了。