zoukankan      html  css  js  c++  java
  • 登录功能的实现

    登录界面与注册界面一样,作用不一样罢了,先来看一下整体页面

    该界面的头部与尾部代码与注册界面的一致

    HTML

    <div class="login">
        <div class="easyui-panel" title="登      录" style="width:100%;max-width:400px;padding:30px 60px;">

            <div style="margin-bottom:20px">
                <input id="username" class="easyui-textbox" style="width:100%;height:40px;padding:12px" onblur="checkName()" data-options="prompt:'请输入用户名',iconCls:'icon-man',iconWidth:38">
            </div>
            <div style="margin-bottom:20px">
                <input id="password" class="easyui-textbox" type="password" style="width:100%;height:40px;padding:12px" data-options="prompt:'请输入密码',iconCls:'icon-lock',iconWidth:38">
            </div>
            <div style="margin-bottom:20px">
                <input type="checkbox" checked="checked" onclick="check()" id="checkName">
                <span>记住用户名</span>
                <span style="padding-left: 50px"></span>
                <input type="checkbox" onclick="checkEvent(this)" id="checkPaw">
                <span>记住密码</span>
            </div>
            <div>
                <a class="easyui-linkbutton" onclick="login()" data-options="iconCls:'icon-ok'"style="float: left">
                    <span style="font-size:14px;">登录</span>
                </a>
                <a onclick="reset()" class="easyui-linkbutton" iconCls="icon-clear" style="float: right">重置</a>
            </div>
            <div style="margin-top:20px;padding-top: 20px">
                <span style="padding-left: 150px"/>
                <span>未注册?点击<a href="user/register.html">注册</a></span>
            </div>
        </div>
    </div>

    在登录之前,当然也需要对用户操作进行一下判断

    1.验证用户名是否存在。此处可与注册时验证用户名调用同一个后台方法

    但需要注意的是:两者判断的目的不一样,注册时是用户名存在则不能进行操作需要重新输入,而登录时则是用户名不存在是则不能进行操作,需要重新输入,因此需要对应后台返回的text数据进行对应的所需要的判断弹出框

    在前台JavaScript中:

     

    此处需要注意的是:验证用户名是否存在,是在光标离开用户名输入框的时候执行,由于onblur事件在jQuery中无法产生效果,需要在原生的JavaScript中才会有效果,由以上代码可以看出,页面加载完成后就会自动执行以上代码。

    在后台:

     

    Sql语句:

     

    当验证完毕以后,则可以进行登录操作了,在前台

    /**
     * 登录
     */

    function login() {
            //获取去字符串左右空格的用户名
            var username = $("#username").textbox('getValue').trim();
            //获取去字符串左右空格的密码
            var password = $("#password").textbox('getValue').trim();
             //用于判断用户名与密码是否为空
            if(username==="" || password===""){
                showMessageCenter("用户名或密码不能为空",200);
                return;
            }
            //记住用户名与密码
            rememberUserAndPwd(username, password);
            //将用户名与密码保存为json格式的数据
            var jsonObj = {username: username, password: password};
            //发送一个ajax请求,返回一个text数据结果
            var data = getTextData("login.hebe", json2str(jsonObj));

            if (data == "success") {
              //  $.messager.alert('温馨提示:', '登录成功', 'success');
               // window.location.href = "project/project_list.html";
                window.location.href = "index1.html";
            } else {
                $.messager.alert('温馨提示:', '登录失败', 'error');
                $("#username").textbox("clear");
                $("#password").textbox("clear");
            }
    }

     

    前台执行了登录操作,则会发送hebe请求到后台,对输入的用户名与密码进行判断是否正确,正确则返回成功,不正确则返回错,则前台会根据后台返回值进行相应操作

     

    在登录的过程中还有一个小的功能的实现:那就是用户名与密码的记住,此功能不是通过session,而是通过cookie记住的。该功能只需要在前台JavaScript中完成

    首先,在执行登录操作的时候,就需要有方法记住用户名与密码

     

    当然这个记住并不是一定会记住的,虽然登录操作确实会调用这个方法,但在该方法中也做了判断,即用户选择了记住用户名与密码,才会记住,不然则只会记住一个空字符串而已,以下代码可以看出:

     

     

    Cookie并没有这么简单,此处调用了封装在一个js中设置cookie的公用方法

     

    无论是用户是否选择了记住,当登录页面再次加载的时候,都会调用加载cookie中的用户名与密码的方法

     

    此时加载用户名与密码,当选择记住的时候,则会加载上一次登录的用户名与密码,若没有选择记住,则会加载两个空字符串在输入框中,也就相当于没有加载

    此处还有一个小功能,就是用键盘的回车键来调用登录的方法,也就不需要鼠标点击登录才会登录了,键盘回车键的keycode值为13,此时会调用login方法。

     

  • 相关阅读:
    owlcar 用法心得 自定义导航
    placeholder 颜色
    图片加载完后执行事件
    针对动态创建的数据添加事件
    弹窗(遮罩层)
    [iOS]把16进制(#871f78)颜色转换UIColor
    [AFN]AFNetworking错误总结
    [iOS]如何给Label或者TextView赋HTML数据
    [iOS]解决模拟器无法输入中文问题
    [iOS]开发者证书和描述文件的作用
  • 原文地址:https://www.cnblogs.com/bad-guy/p/7156287.html
Copyright © 2011-2022 走看看