• 基于easyUI实现登录界面


    此文章是基于  EasyUI+Knockout实现经典表单的查看、编辑

    一. 准备工作

      1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下

    二. 相关文件介绍

      1. login.jsp:系统主界面

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <html>
     <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>企业信息管理系统-登录</title>
        <%@ include file="/common/basePath.jsp"%>
        <link href="content/css/page/login.css" rel="stylesheet" type="text/css" />
     </head>
     
     <body>
         <div class="second_body">
            <form data-bind="submit:loginClick">
                <div class="logo"></div>
                <div class="title-zh">企业信息管理系统</div>
                <div class="title-en" style="">Enterprise Information Manage System</div>
                <div class="message" data-bind="html:message"></div>
                <table border="0" style="300px;">
                    <tr>
                        <td style="white-space:nowrap; padding-bottom: 5px;55px;">用户名:</td>
                        <td colspan="2"><input type="text" id="userCode" class="login" data-bind="value:form.userCode" /></td>
                    </tr>
                    <tr>
                        <td class="lable" style="white-space:nowrap; letter-spacing: 0.5em; vertical-align: middle">密码:</td>
                        <td colspan="2"><input type="password" id="password" class="login" data-bind="value:form.password" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td colspan="2"><input type="checkbox" data-bind="checked:form.remember" /><span>系统记住我</span></td>
                    </tr>
                    <tr>
                        <td colspan="3" style="text-align:center">
                            <input type="submit" value="登录" class="login_button" />
                            <input type="button" value="重置" class="reset_botton" data-bind="click:resetClick" />
                        </td>
                    </tr>
                </table>
            </form>
        </div>
            
         <script type="text/javascript" src="content/js/jquery/jquery-1.8.1.min.js"></script>
        <script type="text/javascript" src="content/js/jquery-plugin/cookie/jquery.cookie.js"></script>
        <script type="text/javascript" src="content/js/core/utils.js"></script>
        <script type="text/javascript" src="content/js/core/common.js"></script> 
        <script type="text/javascript" src="content/js/core/knockout-3.4.1.js"></script>
        <script type="text/javascript" src="viewModel/login.js"></script>
         
         <script type="text/javascript">
             $(function () {
                 ko.applyBindings(new viewModel());
             });
         </script>
     </body>
    </html>       
    View Code


      2. login.js:绑定登录界面的功能按钮

    var viewModel = function () {
        var self = this;
        this.form = {
            userCode: ko.observable(),
            password: ko.observable(),
            remember: ko.observable(false),
            city: null
        };
        this.message = ko.observable();
        this.loginClick = function (form) {
            if(utils.isEmpty(self.form.password()))// 浏览器记住密码 不执行knockout监听
                self.form.password($("#password").val());
            if(utils.isEmpty(self.form.userCode()))
                self.form.userCode($("#userCode").val());
            $.ajax({
                type: "POST",
                url: rootPath+"/sys/login.do",
                data: ko.toJSON(self.form),
                dataType: "json",
                contentType: "application/json",
                success: function (d) {
                    if (d.status == 'success') {
                        self.message("登陆成功正在跳转,请稍候...");
                        window.location.href = rootPath+'/';
                    } else {
                        self.message(d.message);
                    }
                },
                error: function (e) {
                    self.message("登陆失败");
                },
                beforeSend: function () {
                    $(form).find("input").attr("disabled", true);
                    self.message("正在登陆处理,请稍候...");
                },
                complete: function () {
                    $(form).find("input").attr("disabled", false);
                }
            });
        };
    
        this.resetClick = function () {
            self.form.userCode("");
            self.form.password("");
            self.form.remember(false);
        };
    
        this.init = function () {       
            $.getJSON("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&callback=?", function (d) {
                self.form.city = d.content.address;
            });
            if (top != window) top.window.location = window.location;
            //判断之前是否有设置cookie,如果有,则设置【记住我】选择框  
            if(com.cookie('userCode')!=null){  
                self.form.remember(true);
            }else{  
                self.form.remember(false);  
            }  
              
            //读取cookie  
            if(self.form.remember()){  
                self.form.userCode(com.cookie('userCode'));  
                self.form.password(com.cookie('password'));  
            } 
        };
    
        this.init();
    }; 
    View Code


    三. 效果图

      1. 访问:http://localhost:8080/ims/login.do,登录主界面

  • 相关阅读:
    nopCommerce中缓存学习
    EF
    路由
    webapi的加密方式
    生成N位数字随机数
    C# DataTable 转 实体类
    WebBrowser 打印
    文件上传控件,格式统一
    sqlserver 表循环-游标、表变量、临时表
    VB 老旧版本维护系列---迷之集合- dataTable
  • 原文地址:https://www.cnblogs.com/Mr-kevin/p/6675708.html
Copyright © 2020-2023  润新知