第1回——Web前端经典demo(新建用户弹窗,EasyUI+JQurey)

来源:互联网 发布:淘宝卖家怎么设置积分 编辑:程序博客网 时间:2024/05/22 05:32

问题描述:定义一个“新建用户”的按钮,点击按钮出现弹出窗口,里面有需要输入的用户信息。输入后点击提交,提交后交给后台处理,后台把得到数据简单处理后返给前台相应的参数,前台显示添加成功或失败的相关信息。

         首先是创建一个html文件如下:(具体见注释)

注意:1,引入easyui文件的同时还需要引入相关的图片

<!DOCTYPE html>

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title></title>

    <link rel="stylesheet" type="text/css" href="easyui.css"/>                                 //引入easyui文件

         <link rel="stylesheet" type="text/css" href="icon.css"/>                                 //引入easyui文件

         <script type="text/javascript" src="jquery-1.6.min.js"></script>           //引入easyui文件

         <script type="text/javascript" src="jquery.easyui.min.js"></script>          //引入easyui文件

</head>

    <script type="text/javascript">

        function operation(click_type) {                      //定义operation方法,传入参数设置为click_type

            var name = $("#name").val();

            var pwd = $("#pwd").val();

            var department = $("#department").val();

            var role = $('#role').combobox("getText");               //var role = $("#role").val();  这样得到的是选中项的value

            var email = $("#email").val();                                      //得到文本框的一系列信息,知识点1

            var request_data;

            if (click_type == "newAddUser") {

                request_data = { 'click_type': 'newAddUser', 'newusername': name, 'newuserpwd': pwd, 'newuserdepartment': department, 'newuserrole': role, 'newuseremail': email };

            }                                                                                     //向后台传的数据,格式为json,便于-->nvc

            $.ajax({

                url: "AddNewUserHandler.ashx",                      //后台一般处理程序名称

                type: "POST",

                data: request_data,                                                    

                dataType: "text",                                                        //类型为text,知识点2

                success: function (data, textStatus, jqXHR) {

                    var datatemp = data;                                             //data为从后台接收的数据,类型为text

                    if (datatemp == "right") {                                     

                        switch (click_type) {

                            case "newAddUser":

                                $.messager.alert("提示", "新建用户成功!");

                                break;

                        }

                    }

                    else {

                        $.messager.alert("警告", '对不起!,输入的字符长度太短!!');

                    }

                },

                error: function (jqXHR, textStatus, errorThrown) {

                    $.messager.alert("警告", '对不起!,出错了!!'+"errorThrown:" + JSON.stringify(errorThrown) + " textStatus:" + textStatus + " jqXHR:" + JSON.stringify(jqXHR));

                }

            });

        }

 

        $(document).ready(function () {

            $("#newAddUser").click(function () {                        //点击执行的事件,需在$(document).ready

                $("#newAddUser_window").window("open");

            });

            $("#userbtn_save").click(function () {

                operation("newAddUser");

            });

        });

    </script>

<body>

    <form id="form1" runat="server">           //前台easyui代码,一个按钮,一个窗体,知识点3

    <div>                                                                                           

      <a id="newAddUser" href="#" style="float:left" class ="easyui-linkbutton" 

          data-options="iconCls:'icon-add',width:100,height:35" >新建用户</a>

    </div>

    <div id="newAddUser_window" class="easyui-window" title="新建用户" data-options="closed:true,iconCls:'icon-save'" style="width:500px;height:270px;padding:5px;">

        <div style="margin:20px 0"></div>

        <div>用户名:

            <input id="name" class="easyui-textbox" data-options="prompt:'填写用户名'" style="width:80%;height:32px"/>

        </div>

        <div>密码:

            <input id="pwd" class="easyui-textbox" data-options="prompt:'填写密码'" style="width:80%;height:32px"/>

        </div>

        <div>部门:

            <input id="department" class="easyui-textbox" data-options="prompt:'填写部门'" style="width:80%;height:32px"/>

        </div>

        <div>角色:

            <select id="role" class="easyui-combobox" name="state" style="width:200px;height:30px;">

                       <option value="XT">系统管理员</option>

                       <option value="XM">项目管理员</option>

                       <option value="YH">用户</option>

            </select>

        </div>

        <div>Email:

            <input id="email" class="easyui-textbox" data-options="prompt:'Enter a email address...',validType:'email'" style="width:80%;height:32px"/>

        </div>

        <a id="userbtn_save"   class="easyui-linkbutton" data-options="iconCls:'icon-ok'" href="#" style="width:80px">提交</a>

    </div>

    </form>

</body>

</html>

 

接下来是后台的一般处理程序,聪ajax中可以看到叫做AddNewUserHandler.ashx

using System;

using System.Collections.Generic;

using System.Collections.Specialized;

using System.Linq;

using System.Web;

 

namespace EasyUI

{

    /// <summary>

    /// AddNewUserHandler的摘要说明

    /// </summary>

    public class AddNewUserHandler : IHttpHandler

    {

 

        public void ProcessRequest(HttpContext context)

        {

            if (context.Request.HttpMethod == "POST")

            {

                //前台如果是post方法,则得到前台传进的json字符串

                NameValueCollection nvc = context.Request.Params;                   //得到前台传值,nvc很强大

                String clicktype = nvc["click_type"];                                                  

                if (clicktype == "newAddUser")

                {

                    string name = nvc["newusername"];

                    string password = nvc["newuserpwd"];

                    string roleid = nvc["newuserrole"];

                    string department = nvc["newuserdepartment"];

                    string email = nvc["newuseremail"];

                    string tag = name +  password +roleid+ department+email;

                    if (tag.Length>15)

                    {

                        context.Response.Write("right");                                           //往前台传的参数

                    }

                    else

                    {

                        context.Response.Write("errorsuccessadduser");

                    }

                }

            }

            else

            {

                context.Response.Redirect("Login.aspx");

            }

        }

 

        public bool IsReusable

        {

            get

            {

                return false;

            }

        }

    }

}

 

学到的知识:知识点1var email = $("#email").val();  这是获取文本框的值的格式,

                                    var role = $('#role').combobox("getText");获取下拉框中的文本值

                                  var role = $("#role").val();  这样得到下拉框中的选中项的value,在角色中有定义。

                     知识点2ajax里面的dataType类型为String,可用值为:

                                    "xml":返回 XML文档,可用 jQuery处理。

                                    •"html":返回纯文本 HTML信息;包含的 script标签会在插入 dom时执行。
                                    •"script":返回纯文本 JavaScript代码。不会自动缓存结果。除非设置了 "cache"参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET请求。(因为将使用 DOM script标签来加载)
                                    •"json":返回 JSON数据
                                    •"jsonp": JSONP格式。使用 JSONP形式调用函数时,如 "myurl?callback=?" jQuery将自动替换 ?为正确的函数名,以执行回调函数。
                                    •"text":返回纯文本字符串

                           知识点3:关于EasyUI的按钮和弹窗的设计可以参考:http://www.jeasyui.net/

                                    没必要记,熟能生巧,忘了就看一下。

                  共同进步。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕八个月肛门长个肉疙瘩怎么办呢 客户签了合同不要货了怎么办 不喂母乳宝宝只认识保姆了怎么办? 开创者比赛后没有买的鸽子怎么办 买回来小鸽子开家我敢了怎么办 小鸽子出壳后母鸽就不孵了怎么办 狗狗在笼子里一直叫怎么办 养了一年母鸽子不配对怎么办 血管翳云翳斑翳长满眼睛怎么办 鸽子训放50公里突然下雨了怎么办 安卓手机反应慢又卡怎么办 tcl安卓系统电视反应慢怎么办 狼人杀警长竞选一直平票怎么办 去驾校投诉教练被教练报复怎么办 哈尔滨机场大巴六点的飞机怎么办 山东德州恩城镇的农民怎么办养老险 我的世界联机平台房间进不去怎么办 验车时间过了3天怎么办 在携程订的机票和酒店不能退怎么办 千牛工作台中旺旺登录失败怎么办 掌通家园换手机号了忘了更改怎么办 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办 在阿里巴巴上买的货物没发货怎么办 做了下颌角一边脸反复肿怎么办 玩广东11选5输50万怎么办 玩广东11选5输了十几万怎么办 新办公楼装修好就要搬进去怎么办 oppo手机上的黄页删了怎么办 小米不小心把手机联系人删了怎么办 58同城小区名输不了怎么办 e路发注册直接有积分怎么办 大众速腾的不锈钢圈被碰花了怎么办 公司卡着生育险不给怎么办 济南图书馆借书超过期限了怎么办 淘宝解绑支付宝支付密码不对怎么办 微博支付宝支付密码忘记了怎么办