`
5211422
  • 浏览: 204090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js读写COOKIE

阅读更多
js实现记住帐号或密码(js读写COOKIE)





<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test0417.aspx.cs" Inherits="test0417" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/javascript">
        function onLoginLoaded()
        {
            if(isPostBack == "False")
            {
                GetLastUser();
            }
        }
        function GetLastUser()
        {
            var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";
            var usr = GetCookie(id);
            if(usr != null)
            {
                document.getElementById("txtUserName").value = usr;
            }
            else
            {
                document.getElementById("txtUserName").value = "001";
            }
           
            GetPwdAndChk();
        }
       
       //點擊登錄時觸發客戶端事件
       function SetPwdAndChk()
        {  
            //取用戶名
            var usr = document.getElementById("txtUserName").value;
            //alert(usr);
            //將最後一個用戶信息寫入到Cookie
            SetLastUser(usr); 
            //如果記住密碼選項被選中         
            if(document.getElementById("chkRememberPwd").checked == true)
            {
                //取密碼值
                var pwd = document.getElementById("txtPassword").value;  
                //alert(pwd);            
                var expdate = new Date();
                expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
                //將用戶名和密碼寫入到Cookie               
                SetCookie(usr,pwd, expdate);
            }
            else
            {
                //如果沒有選中記住密碼,則立即過期
                ResetCookie();
            }
        }
       
       
        function SetLastUser(usr)
        {
            var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";           
            var expdate = new Date();
            //當前時間加上兩周的時間
            expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));               
            SetCookie(id, usr, expdate);
        }
       
        //用戶名失去焦點時調用該方法
        function GetPwdAndChk()
        {
            var usr = document.getElementById("txtUserName").value;
            var pwd = GetCookie(usr);
                
           
            if(pwd != null)
            {
                document.getElementById("chkRememberPwd").checked = true;
                document.getElementById("txtPassword").value = pwd;
            }
            else
            {
                document.getElementById("chkRememberPwd").checked = false;
                document.getElementById("txtPassword").value = "";
            }
        }
       
        //取Cookie的值
        function GetCookie (name)
        {
            var arg = name + "=";
            var alen = arg.length;
            var clen = document.cookie.length;
            var i = 0;
            while (i < clen)
            {
                var j = i + alen;
                //alert(j);
                if (document.cookie.substring(i, j) == arg)
                  return getCookieVal (j);
                i = document.cookie.indexOf(" ", i) + 1;
                if (i == 0) break;
            }
            return null;
        }
       
        var isPostBack = "<%= IsPostBack %>";
        function getCookieVal (offset)
        {          
            var endstr = document.cookie.indexOf (";", offset);      
            if (endstr == -1)
                endstr = document.cookie.length;
            return unescape(document.cookie.substring(offset, endstr));          
           
        }
       
       
        //寫入到Cookie
        function SetCookie(name, value, expires)
        {
            var argv = SetCookie.arguments;
            //本例中length = 3
            var argc = SetCookie.arguments.length;
                    
            var expires = (argc > 2) ? argv[2] : null;
            var path = (argc > 3) ? argv[3] : null;
            var domain = (argc > 4) ? argv[4] : null;
            var secure = (argc > 5) ? argv[5] : false;
            document.cookie = name + "=" + escape (value) +
            ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +    
            ((path == null) ? "" : ("; path=" + path)) +
            ((domain == null) ? "" : ("; domain=" + domain)) +
            ((secure == true) ? "; secure" : "");
        }
       
        function ResetCookie()
        {
            var usr = document.getElementById("txtUserName").value;  
            var expdate = new Date();           
            SetCookie(usr, null, expdate);
        }


    </script>
</head>
<body onload="onLoginLoaded()">
    <form id="form1" runat="server">
    <div>
        &nbsp;<asp:TextBox ID="txtUserName" runat="server" onblur="GetPwdAndChk()"></asp:TextBox>
        <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
        <asp:CheckBox ID="chkRememberPwd" runat="server" Text="記住密碼" />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="進入 " OnClientClick="SetPwdAndChk()"/>
        </div>
    </form>
</body>
</html>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics