EasyUI(三)表单控件的添加与修改
来源:互联网 发布:宁波百度推广公司php 编辑:程序博客网 时间:2024/06/07 10:00
添加按钮
点击添加出现一个对话框,对话框上是一个表单。
添加对话窗体
在页面的表格下添加一个面书写一个div,其中是一个对话框。为了完成自己需要的一些效果,可以为该对话框添加有一些相关属性,如果在本控件中不能找到,可以去其父进程找。为了在打开页面时不显示该对话框、不包含关闭按钮、包含折叠按钮、弹出后背后不能编辑。需要配置以下几个属性,这些属性都是window中的。
closable boolean 定义是否显示关闭按钮。
collapsible boolean 定义是否显示折叠按钮。
closed boolean 定义是否在初始化组件时关闭(隐藏)窗口
modal boolean 定义窗口是否带有遮罩效果。
属性也可以自己配,不写在自己定义的装多个属性的data-options里。
<div id="addDialog" class="easyui-dialog" style="width: 600px; height: 600px" title="添加用户信息" data-options="closable:false,collapsible:true,modal:true,closed:true"></div>
当点击添加按钮时弹出该对话框,为添加按钮设置一个点击事件,点击将对话框的closed属性值改为false。
为对话框中添加几个自己定义的按钮,主要是配置对话框的buttons属性,属性配置方法如下:
buttons array,selector 对话窗口底部的按钮,每个按钮的属性都跟链接按钮一样。1) an array, each button options is same as linkbutton.2) a selector that indicating the button bar. 按钮可以定义在一个<div>的标签内:<div class="easyui-dialog" style="width:600px;height:300px" data-options="title:'My Dialog',buttons:'#bb',modal:true"> Dialog Content.</div><div id="bb"> <a href="#" class="easyui-linkbutton">Save</a> <a href="#" class="easyui-linkbutton">Close</a></div>该对话框按钮也可以通过数组定义:<div class="easyui-dialog" style="width:600px;height:300px" data-options="title:'My Dialog',modal:true, buttons:[{ text:'Save', handler:function(){...} },{ text:'Close', handler:function(){...} }]"> Dialog Content.</div>
网页中给添加按钮添加的内容。
$("#addBut").click(function() { $("#addDialog").dialog({ closed : false, buttons : [ { text : '保存', iconCls : 'icon-save', handler : function() { } }, { text : '重置', iconCls : 'icon-redo', handler : function() { } }, { text : '关闭', iconCls : 'icon-cancel', handler : function() { } } ] }) })
表单控件
在对话框的div中添加表单,表单中包含一个表格,该表格用来书写里面的布局(4行4列),除了性别用的是可装载组合框 ,其它属相都是一个表单验证控件。根据表单的大小调整对话框的大小。
<form action="" id="form1" method="post"> <table> <tr> <td>用户编号</td> <td><input type="text" class="easyui-validatebox" name="usernumber" required="true"></td> <td>用户名称</td> <!--required boolean 定义该字段是否应该输入,验证属性表单字段是否必填。--> <td><input type="text" class="easyui-validatebox" name="username" required="true"></td> </tr> <tr> <td>用户密码</td> <td><input type="password" class="easyui-validatebox" name="usernumber" required="true"></td> <td>用户性别</td> <td><select id="sex" class="easyui-combobox" name="sex" style="width: 150px;"> <option value="0">女</option> <option value="1">男</option> </select></td> </tr> <tr> <td>电子邮件</td> <td><input type="password" class="easyui-validatebox" name="usernumber" required="true"></td> <td>联系电话</td> <td><input type="text" class="easyui-validatebox" name="usernumber" required="true"></td> </tr> <tr> <td>住址</td> <td><input type="password" class="easyui-validatebox" name="usernumber" required="true"></td> <td>备注</td> <td><input type="text" class="easyui-validatebox" name="usernumber" required="true"></td> </tr> </table> </form>
添加的时候提交表单
在添加的保存按钮中添加方法主要运用到了表单的一下方法。
submit options 执行submit动作, 这个 options参数是一个对象包含一下属性:url: 这个提交动作的URL地址onSubmit: 在提交之前的回调函数success: 提交成功之后的回调函数下面的示例展示如何提交一个合法form和避免重复提交form$.messager.progress(); // 显示一个进度条 $('#ff').form('submit', { url: ..., onSubmit: function(){ var isValid = $(this).form('validate'); if (!isValid){ $.messager.progress('close'); // 当form不合法的时候隐藏工具条 } return isValid; // 返回false将停止form提交 }, success: function(){ $.messager.progress('close'); // 当成功提交之后隐藏进度条 }}); load data 加载记录填充form. 这个 data 参数可以是一个string或者是一个object类型, 当是string类型的时候将请求远程服务器端数据,其他(例如:object类型)行为定义为加载本地记录. 示例代码:$('#ff').form('load','get_data.php'); // 从URL加载 $('#ff').form('load',{//加载本地记录 name:'name2', email:'mymail@gmail.com', subject:'subject2', message:'message2', language:5});clear none 清空form数据 validate none 做form字段验证,返回true表示所有字段合法,这个方法使用了validatebox插件plugin
添加提交的方法,在提交之前看输入的字段是否合法,提交成功后将对话框隐藏、重新加载表格的数据、清空表单的内容,显示添加成功的消息提示框。
$("#addBut").click(function() { $("#addDialog").dialog({ closed : false, buttons : [ { text : '保存', iconCls : 'icon-save', handler : function() { $("#form1").form('submit',{ url:'userAction!saveUserInfo', onSumbit:function(){ return $("#form1").form('validate'); }, success:function(flag){ if(flag){ $("#addDialog").dialog({closed:true}); $("#dg").datagrid('reload'); $("#form1").form('clear'); $.messager.show({ title : '消息提示', msg : '添加数据成功', timeout : 5000, showType : 'slide' }); } } }) } }, { text : '重置', iconCls : 'icon-redo', handler : function() { $("#form1").form('clear'); } }, { text : '关闭', iconCls : 'icon-cancel', handler : function() { } } ] }) })
service层添加保存用户的方法
public static boolean saveUserInfo(User user){ try { BaseDao.saveOrUpdateObj(user); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
控制层新建一个User的引用以及其对应set、get方法,书写对应的保存方法。
private User user; public void saveUserInfo() throws Exception { if (UserService.saveUserInfo(user)) { toJSON(true); } else { toJSON(false); } }
将前端页面中表单中控件的name属性修改为控制层引用的名称.实体类(模型)中的成员变量名(user.usernumber)一定要书写正确。
编辑
将添加对话框复制一份,修改其id为editDialog,标题为编辑用户信息,对话框中表单的id为form2,表单中控件的name属性修改为实体类(模型)中的成员变量名。
在点击修改按钮之前判断是否有记录被选中,没有被选择的记录提示选择要修改的数据,选择的记录大于1条时提示只能选择一条,这两种情况都用消息提示框为用户做出提示,当选中的内容只有一条时,通过表格的getSelected()方法获得选择记录的id,并根据该id值去后台查找到该记录将值显示到表单中,接下来的网页要书写的内容与添加纪录相似,只需要更改对应控件的id值。
$("#editBut").click(function(){ if ($("#dg").datagrid('getSelections').length == 0) { $.messager.alert('消息提示','请选择要修改的数据','error'); }else if ($("#dg").datagrid('getSelections').length >1) { $.messager.alert('消息提示','只能选择一条数据进行修改','error'); $("#dg").datagrid('unselectAll'); } else{ $("#form2").form('load','userAction!findUserById?fId='+$("#dg").datagrid('getSelected').id); $("#editDialog").dialog({closed:false, buttons : [ { text : '保存', iconCls : 'icon-save', handler : function() { $("#form2").form('submit',{ url:'userAction!updateUserInfo', onSumbit:function(){ return $("#form2").form('validate'); }, success:function(flag){ if(flag){ $("#editDialog").dialog({closed:true}); $("#dg").datagrid('reload'); $("#form2").form('clear'); $.messager.show({ title : '消息提示', msg : '修改数据成功', timeout : 5000, showType : 'slide' }); } } }) } }, { text : '重置', iconCls : 'icon-redo', handler : function() { $("#form2").form('clear'); } }, { text : '关闭', iconCls : 'icon-cancel', handler : function() { } } ] }); } })
为了将id值传递到后台,需要在表单中添加一个隐藏域,其对应的值是模型中的id。
<input type="hidden" class="easyui-validatebox" name="id">
在service层书写查询一条记录的方法
public static User findUserById(Integer id){ return (User) BaseDao.getObject("from User where id="+id); }
控制器层添加获取用户的方法,其中前台传来的数据获取用getRequest().getParameter(“fId”)获得参数是前台的参数名。
public void findUserById() throws Exception { User user = UserService.findUserById(Integer.parseInt(getRequest().getParameter("fId"))); toJSON(user); }
点击保存按钮将修改的数据进行保存后台,service层书写对应的更新方法。
public static boolean updateUserInfo(User user){ try { BaseDao.saveOrUpdateObj(user); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
控制器层更新时传递的参数是对象,该对象是一个新建的对象,因此需要在模型中添加其对应的构造方法和无参的构造方法,该对象创建时属性的获得,需要将模型中所有属性都拷贝到控制器中,并书写对应的set和get方法。
public void updateUserInfo() throws Exception { if (UserService.saveUserInfo(new User(id, usernumber, username, password, sex, email, telPhone, address, remark))) { toJSON(true); } else { toJSON(false); } }
- EasyUI(三)表单控件的添加与修改
- EasyUI之动态修改或添加textbox等表单组件
- Jquery EasyUI的添加,修改,删除,查询
- easyUI 日期控件修改...
- jquery.easyui添加表单验证
- 为jEasyUi的日期控件添加一个“清空”按钮----通过修改1.4的easyui.min.js
- 基类、接口的应用——表单控件:一次添加、修改一条记录,一次修改多条记录。(上)
- easyui的datagrid控件toolbar添加自定义控件
- easyUI修改信息时表单输入框的默认值
- JavaScript表单使用隐藏控件为表单添加的参数
- 添加 删除 修改表单
- 动态 添加 表单控件
- jquery制作具有添加与删除功能的表单(转载加修改)
- MFC对话框修改背景颜色或添加背景图片、控件背景与字体颜色的修改
- Easyui 控件的启用与禁用
- easyui表单的验证
- easyui在treegrid添加控件
- 【DWZ】表单验证规则介绍,与如何修改表单验证,如何添加自定义表单验证
- Linux网络编程(二)
- JAVA回调函数
- iterator 倒着输出 vector set
- Array GCD
- redis日常学习
- EasyUI(三)表单控件的添加与修改
- 强制进入windows安全模式
- Spark GraphX学习(一)Connected Components算法
- hdu 2222 Keywords Search (ac自动机模板题)
- C# 软件打包方式详解
- 将char的数值转换为对应的int型数据
- HDU
- elasticsearch 调优过程
- ios-https浅析