使用jquery的cookie实现登录页记住用户名和密码的方法

对于初学者来说,登录页记住用户名和密码的功能是经常会遇到的(通常会用javaee的api去实现),今天为大家介绍在前端页面直接用jquery实现该功能(比传统的方法简单多了),长话短说直接进入正题:

在项目中加入jquery.js和jquery.cookie.js两个依赖文件,并加入对应的页面中如:

<script type="text/javascript" src="${BasePath}/static/assets/js/jquery.cookie.js"></script>
<script type="text/javascript" src="${BasePath}/static/assets/js/preloader.js"></script>

form表单

<form role="form" action="/user/login" method="post" id="login_form">
              <div class="form-group">
                <label for="yhm">用户名</label>
                <input type="text" id="yhm" name="yhm" class="form-control" >
              </div>
              <div class="form-group"> 
                <label for="mm">密码</label>
                <input type="password" id="mm" name="mm" class="form-control" >
              </div>
              <div class="checkbox pull-left">
                <label><input type="checkbox" id="remeberyhm">记住用户名</label>
                <span style="color:red;">
                 <#if errMsg??>
                 用户名或密码错误
                 </#if>
                </span>
              </div>
              <button class="btn btn btn-primary pull-right" type="button" onclick="remeber()" >登 录</button>
            </form>

js函数

<script type="text/javascript">
  $(function () {  
   var yhm = $.cookie('yhm');
        var mm = $.cookie('mm');
   //页面加载的时候从cookie中取出用户名和密码填充对应的输入框
    $('#yhm').val(yhm);       
    $("#mm").val(mm)
    //选中保存秘密的复选框 
      if(yhm != null && yhm != '' && mm != null && mm != ''){
   $("#remeberyhm").attr('checked',true);
 }
  });
  function remeber(){
   var yhm = $("#yhm").val();
   var mm = $("#mm").val();
   //判断复选框的选择状态添加cookie
   if ($("#remeberyhm").is(":checked")) { 
       //存储一个带7天期限的cookie
       $.cookie("yhm", yhm, { expires: 7 });
       $.cookie("mm", mm, { expires: 7 });
     }
     else {      
       $.cookie("yhm", "", { expires: -1 });
       $.cookie("mm", "", { expires: -1 });
     }
   //提交表单
   $("#login_form").submit();
  }

相关推荐