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