• 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>

    -------长沙程序员技术交流QQ群:428755207-------
  • 相关阅读:
    JavaScript中字符串处理的一些函数
    JavaScript中的call、apply、bind方法的区别
    JavaScript中的数组与伪数组的区别
    关于字符集和字符编码那些事
    JavaScript的技巧和最佳实践
    Linux下编辑利器vim,vimrc,viminfo的高级用法
    pdo,更高的sql安全性
    Centos下cacti的安装
    nginx中的502错误
    mac下webpagetest搭建
  • 原文地址:https://www.cnblogs.com/qq4004229/p/1739129.html
Copyright © 2020-2023  润新知