layui的记住密码功能的实现
重点:名字要对应,引入jquery.cookie.js文件,没有就百度下载,标注黄色为重点
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>后台管理-登陆</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="Access-Control-Allow-Origin" content="*"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <link rel="stylesheet" th:href="@{/lib/layui-v2.6.3/css/layui.css}" media="all"> <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script> <script th:src="@{/lib/jquery-3.4.1/jquery.cookie.js}" charset="utf-8"></script> <script th:src="@{/lib/layui-v2.6.3/layui.js}" charset="utf-8"></script> <script th:src="@{/lib/jq-module/jquery.particleground.min.js}" charset="utf-8"></script> <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <style> html, body {width: 100%;height: 100%;overflow: hidden} body {background-image: url("/static/images/beijing1.jpg"); background-repeat: no-repeat; background-size: 100% 100%; } body:after {content:'';background-repeat:no-repeat;background-size:cover;-webkit-filter:blur(3px);-moz-filter:blur(3px);-o-filter:blur(3px);-ms-filter:blur(3px);filter:blur(3px);position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;} .layui-container {width: 100%;height: 100%;overflow: hidden} .admin-login-background {width:360px;height:300px;position:absolute;left:50%;top:40%;margin-left:-180px;margin-top:-100px;} .logo-title {text-align:center;letter-spacing:2px;padding:14px 0;} .logo-title h1 {color:#1E9FFF;font-size:25px;font-weight:bold;} .login-form {background-color:#fff;border:1px solid #fff;border-radius:3px;padding:14px 20px;box-shadow:0 0 8px #eeeeee;} .login-form .layui-form-item {position:relative;} .login-form .layui-form-item label {position:absolute;left:1px;top:1px;width:38px;line-height:36px;text-align:center;color:#d2d2d2;} .login-form .layui-form-item input {padding-left:36px;} .captcha {width:60%;display:inline-block;} .captcha-img {display:inline-block;width:34%;float:right;} .captcha-img img {height:34px;border:1px solid #e6e6e6;height:36px;width:100%;} .remenbe-reset{ display: flex; justify-content: space-between } </style> </head> <body> <div class="layui-container"> <div class="admin-login-background"> <div class="layui-form login-form"> <form class="layui-form" lay-filter="add_form" action="javaScript:;" > <!--<form class="layui-form" action="javaScript:;" onsubmit="return checkForm()">--> <div class="layui-form-item logo-title"> <h1>夕阳红旅游网站后台登录</h1> </div> <div class="layui-form-item"> <label class="layui-icon layui-icon-username" for="number"></label> <input type="text" id="number" name="number" lay-verify="required|account" placeholder="账号" autocomplete="off" class="layui-input" value=""> </div> <div class="layui-form-item"> <label class="layui-icon layui-icon-password" for="password"></label> <input type="password" id="password" name="password" lay-verify="required|password" placeholder="密码" autocomplete="off" class="layui-input" value=""> </div> <div class="layui-form-item"> <label class="layui-icon layui-icon-vercode" ></label> <!--<input type="text" name="captcha" lay-verify="required|captcha" placeholder="图形验证码" autocomplete="off" class="layui-input verification captcha" value="xszg">--> <input type="text" id="imgText" name="imgText" placeholder="图形验证码" autocomplete="off" class="layui-input verification captcha" > <div class="captcha-img"> <!--<img id="captchaPic" th:src="@{/images/captcha.jpg}" >--> <img id="codeImg" th:src="@{/getCode}" onclick="refresh()" alt="" > </div> </div> <div class="layui-form-item"> <font id="error" name="error" color="red"></font> </div> <div class="layui-form-item"> <div class="remenbe-reset"> <input type="checkbox" lay-filter="remember" id="remember_user" name="remember_user" lay-skin="primary" title="记住密码"> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> <div class="layui-form-item"> <button class="layui-btn layui-btn layui-btn-normal layui-btn-fluid" lay-submit="" lay-filter="login">登 录</button> </div> </form> </div> </div> </div> <script> function refresh() {//刷新验证码 // $('#codeImg').src="getCode?time="+new Date().getTime(); document.getElementById("codeImg").src="getCode?time="+new Date().getTime(); } </script> <script> layui.use(['form'], function () { var form = layui.form, layer = layui.layer // $ = layui.$; // 登录过期的时候,跳出ifram框架 if (top.location != self.location) top.location = self.location; // 粒子线条背景 $(document).ready(function(){ $('.layui-container').particleground({ dotColor:'#7ec7fd', lineColor:'#7ec7fd' }); }); //记住用户名和密码 if ($.cookie("remember_user")){ $("#remember_user").prop("checked",true); form.val("add_form",{ "number":$.cookie("user_name"), "password":$.cookie("user_password") }) } // 进行登录操作 form.on('submit(login)', function (data) { data = data.field; if (data.number == '') { layer.msg('用户名不能为空'); return false; } if (data.password == '') { layer.msg('密码不能为空'); return false; } if (data.imgText == '') { layer.msg('验证码不能为空'); return false; } //勾选记住密码 if (data.remember_user=="on") { var user_name=data.number; var user_password=data.password; //存储一个带7天期限的cookie $.cookie("remember_user","true",{ expires: 7 }); $.cookie("user_name",user_name,{ expires: 7 }); $.cookie("user_password",user_password,{ expires: 7 }); }else { //删除cookie $.cookie("remember_user","false",{ expires: -1 }); $.cookie("user_name",'',{ expires: -1 }); $.cookie("user_password",'',{ expires: -1 }); } $.ajax({ // url: "http://localhost:8081/login", url: "/login", data: { number: data.number, password: data.password, imgText: data.imgText }, dataType: "json", type: "post", success: function(data) { if (data.code == "1000") { console.log(data.msg) window.location.href="/toIndex"; } else { alert(data.msg); // data.error.innerText = data.msg $("#error").text(data.msg); } } }); }); }); </script> </body> </html>