zoukankan      html  css  js  c++  java
  • jquery记住密码,记住账号,自动登录

    1、引入jquery库

    2、引入jquery.cookie.js库

    3、引入操作js

    jsp如下:

    $(document).ready(function() {
        
          //输入框获得焦点-失去焦点
          $(".oaText").focus(function(){
            oaFocus(".oaText","请输入用户名");
          });
          $(".oaText").blur(function(){
            oaBlur(".oaText","请输入用户名");
          });
    
          //密码框获得焦点-失去焦点
          $(".oaPwd").focus(function(){
            oaFocus(".oaPwd","请输入密码");
          });
          $(".oaPwd").blur(function(){
            oaBlur(".oaPwd","请输入密码");
          });
          
          $('.oaPwd').bind('input propertychange',function(){
              if($(".oaPwd").val()==''){
                  $('.oaPwd')[0].type="text";
              }else{
                  $('.oaPwd')[0].type="password";
              }
          })
          
          //记住密码的同时记住账号
          $("#oaRem_password").click(function(){
              var remPassword = $("#oaRem_password").attr('checked');
              if(remPassword){
                  $("#oaRem_account").attr('checked',true);
              }
          });
          //根据cookie初始化form
          var cookieAccount = $.cookie('Cxjava_account');
          var cookiePassword = $.cookie('Cxjava_password');
        // 账号
            if (cookieAccount && cookieAccount != '') {
                $('.oaText').val(cookieAccount);
                $('#oaRem_account').attr('checked', true);
        
            }
            // 密码
            if (cookiePassword && cookiePassword != '') {
                $('.oaPwd').val(cookiePassword);
                $('#oaRem_password').attr('checked', true);
            }
    
          //获得焦点事件;
          function oaFocus(oaEle,oaDefVal){
            $(oaEle).css("box-shadow","2px 2px 2px #bebebe");
            textVal=$(oaEle).val();
            if(textVal==oaDefVal){
              $(oaEle).val("");
              $(oaEle).css("color","#555");
            }
          }
          //失去焦点事件
          function oaBlur(oaEle,oaDefVal){
            $(oaEle).css("box-shadow","none");
            textVal=$(oaEle).val();
            if(textVal==""){
              $(oaEle).val(oaDefVal);
              $(oaEle).css("color","#bebebe");
            }else{$(oaEle).css("color","#555");}
          }
        
        Ext.ns("Ext.Authority.login");// 自定义命名空间
        login = Ext.Authority.login;// 自定义命名空间别名
        login = {
            login : ctx + "/login",
            main : ctx + "/main",
            findpwd : ctx + "/findpwd",
            register : ctx + "/register"
        };
        // 设置主题
    //    Share.swapStyle('ext-all.css');
        $('.oaLogin_btn').click(function() {
        //function loginSubmit() {
            var account = $(".oaText").val();
            var passwordTxt = $(".oaPwd").val();
            if (account == "" || password == "") {
                Ext.Msg.alert('提示', '请输入用户名或密码');
            } else {
                // 用于从cookie中读取密码吗?
                var cookiePassword = Ext.state.Manager.get('Cxjava_password');
                // 判断cookie中的密码
                var password =  MD5.hex_md5(passwordTxt);
                Share.AjaxRequest({
                    url : login.login,
                    params : {
                        account : account,
                        password : password,
                        passwordTxt:passwordTxt
                    },
                    showMsg : false,
                    callback : function() {
                        // 设置cookie
                        var rememberAccount = $("#oaRem_account").attr('checked');
                        var rememberPassword = $("#oaRem_password")
                                .attr('checked');
    //                    var autoLogin = $('#autoLogin').attr('checked');
                        if (rememberAccount) {
                            Ext.state.Manager.set('Cxjava_account', account);
                        } else {
                            Ext.state.Manager.set('Cxjava_account', '')
                        }
    
                        if (rememberPassword) {
                            Ext.state.Manager.set('Cxjava_password', passwordTxt);
                        } else {
                            Ext.state.Manager.set('Cxjava_password', '');
                        }
    
    //                    if (autoLogin) {
    //                        Ext.state.Manager.set('Cxjava_autoLogin', autoLogin);
    //                    } else {
    //                        Ext.state.Manager.set('Cxjava_autoLogin', '');
    //                    }
    
                        Ext.state.Manager.set('Cxjava_hasLocked', false);
                        location.href = login.main;
                    },
                    falseFun : function(json) {
                        // 失败后想做的个性化操作
                        if (json.msg.indexOf('密码错误') > -1) {
                            $(".oaPwd").focus().val('');
                            return;
                        }
                    }
                });
            }
        });
    
        $("body").keydown(function(event) {
                    if (event.keyCode == "13") {// keyCode=13是回车键
                        $('.oaLogin_btn').click();
                    }
                });
    
        // 根据cookie初始化form
        login.initLoginForm = function() {
            // 取得cookie
            var cookieAccount = Ext.state.Manager.get('Cxjava_account');
            var cookiePassword = Ext.state.Manager.get('Cxjava_password');
            var cookieAutoLogin = Ext.state.Manager.get('Cxjava_autoLogin');
    
            // 账号
            if (cookieAccount && cookieAccount != '') {
                $('.oaText').val(cookieAccount);
                $('#oaRem_account').attr('checked', true);
    
            }
    
            // 密码
            if (cookiePassword && cookiePassword != '') {
                $('.oaPwd').val(cookiePassword);
                $('#oaRem_password').attr('checked', true);
            }
    
            // 自动登录
    
    //        if (cookieAutoLogin && cookieAutoLogin != '') {
    //
    //            $('#autoLogin').attr('checked', true);
    //            $('#onsubmit').click();
    //        }
            $('.oaText').focus();
            //设置密码样式
            if($(".oaPwd").val()==''){
                  $('.oaPwd')[0].type="text";
              }else{
                  $('.oaPwd')[0].type="password";
              }
        }
    
        // 根据cookie初始化form
        login.initLoginForm();
    
        // 窗口大小改变时,从新设置窗口位置
        window.onrsize = function() {
            var left = ($(windwo).width() - login.loginWindow.getWidth()) / 2;
        }
    
        // 设置为焦点
        // 忘记密码
        login.resetPassword = function() {
            // 跳转到忘记密码
            login.findPwdWindow = new Ext.Window({
                        title : '系统将发送重置密码链接到你的注册邮箱',
                        width : 300,
                        height : 190,
                        modal : true,
                        maximizable : false,
                        resizable : false,
                        layout : 'fit',
                        plain : true,
                        autoLoad : {
                            url : login.findpwd,
                            scripts : true,
                            nocache : true
                        }
                    }).show();
        }
    
        // 注册
        login.register = function() {
            // 跳转到注册
            location.href = login.register;
        }
    //     监听事件
    //    var events = "beforecopy beforepaste beforedrag contextmenu selectstart drag paste copy cut gragenter";
    //    $("#account").bind(events, function(e) {
    //                return false;
    //            });
    //    $("#password").bind(events, function(e) {
    //                return false;
    //            })
    });

    jsp如下:

    <%@ page language="java" pageEncoding="UTF-8"%>
    <!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>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <%@ include file="/WEB-INF/views/commons/taglibs.jsp"%>
    <title><fmt:message key="login.title" /></title>
    <%@ include file="/WEB-INF/views/commons/yepnope.jsp"%>
    <script type="text/javascript">
        yepnope("${ctx}/resources/js/login.js");
    </script>
    <link rel="stylesheet" type="text/css"
        href="${ctx}/resources/css/oaLogin.css" />
    </head>
    
    <body>
        <!--top-->
        <div class="oaTop">
            <div class="oaContain">
                <img class="oaLogo" src="${ctx}/resources/images/oaLogo.png" />
                <span class="oaTop_link">跳转到<a href="http://www.yunzainfo.com/">公司首页</a> </span>
            </div>
        </div>
        <!--content-->
        <div class="oaContain oaContent">
            <img class="oaCont_img oaLeft" src="${ctx}/resources/images/oaImg.jpg" />
            <img class="oaCont_sepLine" src="${ctx}/resources/images/sepeatLine.jpg" />
            <div class="oaRight">
                <h3 class="oaTitle">用户名登录 </h3>    
                <form>
                    <input class="oaInput oaText" type="text" placeholder="请输入用户名"/>
                    <input class="oaInput oaPwd" type="text" placeholder="请输入密码"/>
                    <p class="oaRelea_pwd">
                        <label class="oaLeft oaRem_pwd oaRem_account"><input type="checkbox" id="oaRem_account">记住账号&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <label class="oaLeft oaRem_pwd oaRem_password"><input type="checkbox" id="oaRem_password">记住密码</label>
                        <a class="oaFoget_pwd" href="javascript:void(0)">忘记密码?</a>
                    </p>
                    <button type="button" class="oaLogin_btn">登录</button>
    
                </form>
            </div>
        </div>
        <!--copyRight-->
        <img class="oaCp_bg" src="${ctx}/resources/images/bottomBg.png" />
        <div class="oaCopyRight">
            版权所有:
        </div>
    </body>
    </html>
  • 相关阅读:
    用汇编的眼光看c++(之模板函数) 四
    从B树、B+树、B*树谈到R 树 四
    how to locate dll in native c++ world / dotnet world?
    GAC和sidebyside
    ARM VS Intel
    关于dotnet下的encoding
    synchronization objects for interprocess synchronization and multithreadiing
    [remote debug]WinDBG 技巧: 如何用WinDBG远程调试程序
    [tip]transparent bmp
    Review: functor / function object
  • 原文地址:https://www.cnblogs.com/zrui-xyu/p/5219866.html
Copyright © 2011-2022 走看看