js 记住我

$(function(){

    $("#btn_login").click(function() {
    
        var anv=$("#an").val();  //登录名
        var pwv=$("#pw").val();  //登录密码
        if (anv=='' || /\'/g.test(anv)) { //判断登录名为空  或  用户名包含英文 ' 号
            alert('请填写账号!');
            return false;
        }
        
        if (pwv == '' || /\'/g.test(pwv)) { //判断密码为空  或   密码包含英文 ' 号
            alert('请填写密码!');
            return false;
        }
    
        $.get("loginupload.html?an="+anv+"&pw="+pwv,function(s){
            switch (s) {
              case "SYSTEM_RIGHT":
                    window.location.href='/index.html';
                    break;
              case "SYSTEM_RIGHT_AND_RESETPASSWORD":
                    window.location.href='/ba/pwup.html?flag=2&goindex=true';
                    break;
              case "SYSTEM_USERNAME_EMPTY":
                    alert("用户名不能为空!");
                    $("#an").focus();
                    break;
              case "SYSTEM_PASSWORD_EMPTY":
                    alert("密码不能为空!");
                    $("#pw").focus();
                    break;
              case "SYSTEM_USERNAME_NOT_EXIST":
                    alert("不存在的用户名,请仔细核对!");
                    $("#an").focus();
                    break;
              case "SYSTEM_PASSWORD_ERROR":
                    alert("不正确的密码!");
                    $("#pw").focus();
                    break;
            }
        });
    })
    
    $("btn_reset").click(function(){ //重置按钮事件
        $("#an").val("");
        $("#pw").val("");
    })
    
    $(document).keydown(function (e) { // 获取网页文档对象; 的键盘按下事件
        if (e.keyCode == 13) { // enter 键
            $("#btn_login").click();//键盘登录事件
            return false; //不执行下面语句
        };
    })
    

    var setcookie=function(){
        $.cookie('rememberme',"true",{expires:60}); //创建cookie 记住我; 值为true ;有效期为60天
        $.cookie('usrname',encodeURIComponent($("#an").val()),{expires:60}); //usrname 值为 用户名  有效期60天
        $.cookie('pwd',encodeURIComponent($("#pw").val()),{expires:60}); //pwd 值为密码  有效期60天
    }
                          
    var clrcookie=function(){
        $.cookie('rememberme',"false"); //设置cookie记住我的值为false
        $.cookie('usrname',null); //删除cookie中的值
        $.cookie('pwd',null); //删除cookie中的值
    }
    
    //当更改用户名或密码后更新cookie
    $("#an,#pw").live("blur",function(){ //为用户名框和密码框添加 焦点离开事件
        if($("#rememberme").hasClass("remember")){ //获取a标签判断是否存在类名(remember)
            setcookie();      //存在  设置cookie
        }
    }).live("keyup", function () { //为用户名框和密码框添加 键盘事件
        if($("#an").val()!=""){ //判断用户名不等于空;
            setcookie(); //设置cookie
            console.log(this);
            $(this).addClass("remember"); //添加类
        }else{ //用户名等于空
            clrcookie(); //清除cookie
            $(this).removeClass("remember"); //移除类
        }
    })
    
    //当勾上“记住我”时保存cookie,否则清空
    $("#rememberme").live("click",function(){ //获取a标签对象, 为a标签绑定单击事件;
        if (!$(this).hasClass("remember")) {  //这里的this 指向 触发事件的a标签 . hasClass()检查是否存在类名remember
            setcookie();            //不存在(hasClass()返回flase)   设置cookie
            $(this).addClass("remember"); //为a标签添加一个类
        }else{
            clrcookie(); // 存在 清除cookie,
            $(this).removeClass("remember");// 移除a标签的类(控制图片的类名)
        }
    });
    
    if ($.cookie('rememberme') == "true") {  //窗体加载时候  读取cookie中rememberme的值是否等于true
       // $("#an").val("000"); 
        $("#an").val(decodeURIComponent($.cookie('usrname'))); //获取cookie中usrname的值进行解码;赋值到文本框
        //使用 decodeURIComponent() 对编码后的 URI 进行解码: 
        $("#pw").val(decodeURIComponent($.cookie('pwd'))).focus(); //读取cookie的pwd的值赋值到密码框, 获得焦点
        $("#rememberme").addClass("remember");//添加一个a标签 class名
    } else {
        $("#an").focus(); //读取cookie中rememberme(记住我)的值为false;用户名获取焦点
    }


    // 创建一个cookie并设置有效时间为7天:  
    //$.cookie('cookieName', 'cookieValue', { expires: 7 });
    //读取cookie:  
    //$.cookie('cookieName'); // 若cookie存在则返回'cookieValue';若cookie不存在则返回null 
    //删除cookie:把ncookie的值设为null即可  
    //$.cookie('the_cookie', null);   
    //获得焦点 事件
  // $("input").focus(function(){
  //  $("input").css("background-color","#FFFFCC");
    //});
    //失去焦点
      //$("input").blur(function(){
      //  $("input").css("background-color","#D6D6FF");
      //});
})

 

转载于:https://www.cnblogs.com/enych/p/8033640.html

回答: 表单的"记住我"功能可以通过操作cookie来实现。当用户勾选了"记住我"选项后,可以使用JavaScript来设置一个持久性的cookie,以便在用户下次访问网站时自动填充表单。具体实现步骤如下: 1. 在用户登录时,检查是否勾选了"记住我"选项。如果勾选了,获取用户名和密码,并使用JavaScript设置一个持久性的cookie。 2. 使用JavaScript的document.cookie属性来设置cookie。例如,可以使用以下代码设置一个名为"username"的cookie,并将用户名作为cookie的值: ```javascript document.cookie = "username=" + username + "; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/"; ``` 这里的expires参数指定了cookie的过期时间,设置为一个未来的日期,使得cookie能够长期保存。path参数指定了cookie的路径,使得cookie在整个网站范围内都可用。 3. 当用户下次访问网站时,可以通过JavaScript读取cookie,并将保存的用户名填充到表单中。 ```javascript var username = getCookie("username"); if (username !== "") { document.getElementById("username").value = username; } ``` 这里的getCookie函数是一个自定义的函数,用于获取指定名称的cookie的值。 需要注意的是,由于cookie是保存在用户本地计算机上的,存在安全隐患,因此不建议将敏感信息存储在cookie中。在实际应用中,应该仅将一些不敏感的信息,如用户名,保存在cookie中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值