jquery實現記住用戶名和密碼


這里我們選擇的方法是cookie的方式去記錄

 

首先我們寫將用戶名和密碼寫到cookie的js代碼

//保存到cookie
        function save_cookies(){
            if($("#remember").prop("checked")){
                var username = $("#username").val();
                var password = $("#password").val();

                $.cookie("remember","true",{expires:7});
                $.cookie("username",username,{expires:7 });
                $.cookie("password",password,{expires:7 });
            }else{
                $.cookie("remember","false",{expires:-1});
                $.cookie("username","",{ expires:-1 });
                $.cookie("password","",{ expires:-1 });
            }
        };

注意:$("#id").prop("checked")    通過這個來獲取復選框 勾選狀態   jquery1.6版本之后用prop方法,之前版本用attr方法。

千萬注意prop不要寫錯,我就把prop寫成了porp找了好久的問題,原來是自己把自己坑了。

1.$.cookie("username") 讀取cookie 名為username的值

2.$cookie("username","qcbin",{expires:7})  創建cookie 名為username值為qcbin,保存期限為7天。   如果將{expires:7}替換為365意思是,瀏覽器關閉即清除

 

 

寫加載cookie的代碼,這部分js代碼,我們放在head頭中,這樣我們加載登錄頁的時候就會先去讀cookie。

<script>
        $(document).ready(function(){
            var rem = $.cookie('remember');
            if(rem){
                $("#remember").prop("checked",true);
                $("#username").val($.cookie("username"));
                $("#password").val($.cookie("password"));
            }
        });
    </script>

注意:$(document).ready() 這個方法,瀏覽器就緒,就開媽執行這個下邊的代碼。

 

 

登錄的html示例代碼:

<!DOCTYPE html>
<html>
<head lang="en">
   <meta charset="UTF-8">
    <title>login-AM</title>
    <script src="/static/js/jquery-3.2.1.min.js"></script>
    <link href="/static/css/bootstrap3.3.7.min.css" rel="stylesheet">
    <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
    <script src="/static/js/bootstrap3.3.7.min.js"></script>
    <script src="/static/js/jquery.cookie.js"></script>
    <style>

        .form{background: rgba(255,255,255,0.2);width:400px;margin:120px auto;}
        /*陰影*/
        .fa{display: inline-block;top: 27px;left: 6px;position: relative;color: #ccc;}
        input[type="text"],input[type="password"]{padding-left:26px;}
        .checkbox{padding-left:21px;}
    </style>
    <script>
        $(document).ready(function(){
            var rem = $.cookie('remember');
            if(rem){
                $("#remember").prop("checked",true);
                $("#username").val($.cookie("username"));
                $("#password").val($.cookie("password"));
            }
        });
    </script>
</head>
<body>
    <div class="container">
        <div class="form row">
            <div class="form-horizontal col-md-offset-3" id="login_form">
                <h3 class="form-title">LOGIN</h3>
                <div class="col-md-9">
                    <div class="form-group">
                        <i class="fa fa-user fa-lg"></i>
                        <input class="form-control required" type="text" placeholder="Username" id="username" name="username" autofocus="autofocus" maxlength="20"/>
                    </div>
                    <div class="form-group">
                            <i class="fa fa-lock fa-lg"></i>
                            <input class="form-control required" type="password" placeholder="Password" id="password" name="password" maxlength="8"/>
                    </div>
                    <div class="form-group">
                        <label class="checkbox">
                            <input type="checkbox" id="remember" value="1" />記住我
                        </label>

                    </div>
                    <div class="form-group col-md-offset-9">
                        <a  type="button" class="btn btn-primary pull-right" id="register" href="/register/">注冊</a>
                        <button  type="button" class="btn btn-success pull-right" id="submit">登錄</button>
                    </div>
                    <div class="form-group">
                            <i class="fa fa-exclamation-triangle fa-lg" id="display_text"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <script>

        $("#submit").click(function(){
            if($("#username").val()!="" && $("#password").val()!="")
            {
                save_cookies();
                $.ajax({
                    url:'/login_validation/',
                    type:'post',
                    data:{
                        'username':$("#username").val(),
                        'password':$("#password").val()
                    },
                    dataType:'json',
                    success:function(args){
                        if(args.res==1){
                            window.location="/index/";
                        }else{
                            $("#display_text").html("用戶名或密碼錯誤.");
                        }
                    },
                    error:function(data){
                        alert('ajax error');
                    }
                });
            }else{
                alert("用戶名或密碼不能為空。");
            }
        });

     //保存到cookie
        function save_cookies(){
            if($("#remember").prop("checked")){
                var username = $("#username").val();
                var password = $("#password").val();

                $.cookie("remember","true",{expires:7});
                $.cookie("username",username,{expires:7 });
                $.cookie("password",password,{expires:7 });
            }else{
                $.cookie("remember","false",{expires:-1});
                $.cookie("username","",{ expires:-1 });
                $.cookie("password","",{ expires:-1 });
            }
        };


    </script>


</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM