- 浏览: 12208 次
- 性别:
- 来自: 安徽
文章分类
最新评论
http://download.microsoft.com/download/7/2/F/72F9A516-384C-408A-A1CE-3934EE96B993/wacserverlanguagepack.exe <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Basic Form - jQuery EasyUI Demo</title> <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="../../themes/icon.css"> <link rel="stylesheet" type="text/css" href="../demo.css"> <script type="text/javascript" src="../../jquery.min.js"></script> <script type="text/javascript" src="../../jquery.easyui.min.js"></script> <script type="text/javascript" src="Utils.js"></script> </head> <body> <h2>Basic Form</h2> <p>Fill the form and submit it.</p> <div style="margin:20px 0;"></div> <div class="easyui-panel" title="New Topic" style="width:400px"> <div style="padding:10px 60px 20px 60px"> <form id="ff" method="post"> <table cellpadding="5"> <tr> <td>Name:</td> <td><input class="easyui-textbox" type="text" name="tname" data-options="required:true" mapping="{name: 'tname', defalut: 'd_value', handler: doHandler}"></input></td> </tr> <tr> <td>Email:</td> <td><input class="easyui-textbox" type="text" name="email" data-options="required:true,validType:'email'" mapping="{name: 'temail', defalut: 'd_value', handler: doHandler}"></input></td> </tr> <tr> <td>Language:</td> <td> <select class="easyui-combobox" name="language" mapping="{name: 'tlanguage', defalut: 'ar', handler: doHandler}"> <option value="ar">Arabic</option> <option value="bg">Bulgarian</option> <option value="ca">Catalan</option> </td> </tr> </table> </form> <div style="text-align:center;padding:5px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">Submit</a> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">Clear</a> </div> </div> </div> <script> function submitForm(){ [b]var testData = Utils.resolveFromFieldsToSyncDatas('#ff', true);[/b] } function doHandler(name, value, mapping, datas, opt){ return value + '_dohandler'; } </script> </body> </html>
Utils.js 代码:
(function(jquery, window){ var Utils = window.Utils; if (Utils && Utils.ok) { return; } Utils = {}; Utils.emptyFn = function(){}; Utils.errorFn = function(msg){ alert(msg || '操作失败');}; var arrayPrototype = Array.prototype, sliceFn = arrayPrototype.slice; var SyncData = function(data, options){ return new SyncData.init(data, options); } SyncData.init = function(data, options){ this.data = data; this.options = options = options || {}; this.beforeSync = options.beforeSync || Utils.emptyFn; this.errorHandler = options.errorHandler || Utils.errorFn; this.successHandler = options.successHandler || Utils.emptyFn; this.syncHandler = options.syncHandler || Utils.emptyFn; this.postDataType = options.postDataType || 'default'; //object or default this.isStrTrim = options.isStrTrim === false ? false : true; if (arguments.length > 2) { this.extArgs = slice.call( arguments, 2 ); } return this; } SyncData.init.prototype = { sync: function(options) { jquery.extend(this, options || {}); jquery.extend(this.options, options || {}); if(!this.data) { alert('数据格式不对'); return; } var reqeustData = this.converPostData(); if(this.beforeSync(this, reqeustData, this.extArgs) === false) { return; } this.syncHandler.apply(this, reqeustData, function(ret) { try { var arr = ret.result.split("~"); if(arr[0] != "S") { this.errorHandler.apply(this, [ret.result, ret].concat(this.extArgs)); } else { this.successHandler.apply(this, [ret].concat(this.extArgs)) } } catch(e) { this.errorHandler.apply(this, [e, ret].concat(this.extArgs)); } }); }, converPostData: function() { var dadtas, data = this.data; if (this.postDataType == 'default') { dadtas = []; for(var attr in data) { if (data.hasOwnProperty(attr)) { dadtas.push(data[attr]); } } } else { datas = [data]; } return dadtas.concat(this.extArgs || []) } } var easyui_fields = ["textbox","combo","combobox","combotree","combogrid","datebox","datetimebox","spinner","timespinner","numberbox","numberspinner","slider"], getMapping = function(mappingStr) { return eval('['+ mappingStr +']')[0]; }, formatValue = function(name, value, mapping, data ,isTrim, opt) { var defalutValue = mapping.defalut || '', handler = mapping.handler; value = value || ''; value = (isTrim === false) ? value : $.trim(value); value = (value == '') ? defalutValue : value; if (mapping.handler) { return handler(name, value, mapping, data, opt); } return value; } window.Utils = { // mapping="{name: 'propertyname', defalut: '123', hander: fn}" resolveFromFieldsToSyncDatas: function(jq, isTrim) { var data = {}, fetchValue = function(dom, inputvalue, mappingsetting, opt) { var pname = (mappingsetting.name || $(dom).attr('name') || $(dom).attr('id')); var realValue = formatValue(pname, inputvalue, mappingsetting, data, true, opt); if (typeof realValue === "string") { // string data[pname] = realValue; } else { //obj for (var nv in realValue) { data[nv] = realValue[nv]; } } }; if ($(jq).form('validate') !== true) { alert('表单数据验证失败'); return null; } $.each(easyui_fields, function(i, v){ var selector = '.easyui-' + v + ':not(:disabled)[mapping]'; $(jq).find(selector).each(function(){ fetchValue(this, $(this)[v]('getValue'), getMapping($(this).attr('mapping')), 'get'); }) }); $(jq).find('input:hidden[mapping]').each(function(){ fetchValue(this, $(this).val(), getMapping($(this).attr('mapping')), 'get'); }) return new SyncData(data); }, resolveFromSyncDatasToFields: function(jq, data) { var getRealValue = function(dom, mapping) { var pname = (mappingsetting.name || $(dom).attr('name') || $(dom).attr('id')); return formatValue(pname, (data[pname] || ''), mapping, data, false, 'set') || ''; } data = data || {}; $.each(easyui_fields, function(i, v){ var selector = '.easyui-' + v + ':not(:disabled)[mapping]'; $(jq).find(selector).each(function(){ $(this)[v]('setValue', getRealValue(this, getMapping($(this).attr('mapping')))); }) }); $(jq).find('input:hidden[mapping]').each(function(){ $(this).val(getRealValue(this, getMapping($(this).attr('mapping')))); }) } } Utils.ok = true; jquery.extend(Utils, window.Utils); })(jQuery, window)
发表评论
-
angular2-download
2016-12-06 10:08 257import { Injectable } from '@an ... -
基于cleditor扩展实现表单设计器(正在实现中...)
2015-02-09 13:47 829计划待写中.... 主体代码已经写好 第三阶段 ... -
D3的使用(Flow事件IP(PORT)关系可视化实现)
2014-09-26 16:57 1119图片: [align ... -
基于elasticsearch Rest URL模板动态生成(索引按照日期切分)
2014-09-18 10:18 2626例如, 日期: 2014-09-11至2014-09-12 T ... -
Ext drag 那些事
2014-08-21 09:30 1286//panel初始化拖拽函数 initDraggable : ... -
javascript基础: Array
2014-05-14 18:01 282Ext4+的文档中列出了所有javascript:Array的 ...
相关推荐
由于EasyUI自带的Form提交方式会自动去除掉readonly和disabled的值,或者多层form时,不能正确获取到form表单中的数据,由此,产生了这个专门针对EasyUI form的提交工具。
easyUI 自定义window工具 easyUI window和布局 easyUI 创建Dialog对话框 easyUI Dialog自定义Toolbar和button Tree easyUI 从标记创建Tree easyUI 创建异步Tree easyUI 附加tree节点到tree easyUI ...
(题外话:从本次开始 我新增了jQuery EasyUI的专题...filebox:filebox 该组件表单元素中用于上传文件的文件框工具组件 ">(题外话:从本次开始 我新增了jQuery EasyUI的专题页面 大家可以关注我的专题页来及时获取
即便以后还有新组件,那也是在现有功能完善的基础上新增一些小组件了,类似Datagrid这类的大型复合组件应该比较少了,相比新组件我更期待官方能对EasyUI的性能优化多下下功夫。 jQuery EasyUI 1.4.5版本更新内容: ...
datagrid:修复在datagrid宽度太小的时候“fitColumns”方法无法正常工作的问题 Improvement(改进) EasyUI的所有组件已经支持非固定 百分比大小的尺寸设置; menu:添加“showItem” “hideItem”和“resize”...
包含完整开发工具包,格式采用pdf+exe+chm jQuery EasyUI 1.5.2 版本更新内容 Bug(修复) form:修复在调用“reset”方法的时候会导致input输入框初始值消失的BUG; textbox:修复在调用“destroy”方法的时候无法...
form:添加“onChange”事件; combobox:添加“queryParams”属性; slider:添加“range”属性; menu:添加“itemHeight”,“inline”,“noline”和“align”属性; panel:添加“header”属性,允许用户...
jQuery EasyUI 1.5版本更新内容: Bug(修复) combobox:修复在加载包含所选项数据的时候不会触发“onSelect”事件的BUG; datagrid:修复在字段设置为一个空值的时候导致在某些情况下“updateRow”方法无法正常...
jQuery EasyUI 1.5.1版本更新内容: Bug(修复) datagrid:修复在调用“updateRow”方法之后选中和复选行标志丢失的问题; tabs:修复在调用“update”方法的时候导致标签栏工具错位的问题; window:修复在...
form:修复在form组件中调用“clear”方法以后导致firebox组件失效的问题。 Improvement(改进) tabs:“update”方法增加“type”参数,允许用户更新表头、表体或整个tab控件; panel:添加“openAnimation”、...
jQuery EasyUI 1.5.1版本更新内容:Bug(修复) datagrid:修复在调用“updateRow”方法之后选中和复选行标志丢失的问题; tabs:修复在调用“update”方法的时候导致标签栏工具错位的问题; window:修复在窗体高度...
• form:修复在调用“reset”方法的时候会导致input输入框初始值消失的BUG; • textbox:修复在调用“destroy”方法的时候无法清除字段标签的BUG; • datagrid:修复在不存在的行上调用“selectRow”方法的时候...
NULL 博文链接:https://zhangfy068.iteye.com/blog/1039140
而且还收费.EasyUi 是一款免费开源的前台轻量级便于开发的工具. 经过一段时间的学习和应用感觉非常不错,是个值得学习研究的插件 使用起来非常方便界面美观大方,遗憾的是不开源代码通过混淆 不过功能已经很强大了 ...
表单 - Form Demo 日历 - Calendar 下拉选择框 - Custom Combo 下拉组合框 - ComboBox 数据表格下拉框 - ComboGrid 树形下拉框 - ComboTree 日期输入框 - DateBox 日期时间输入框 - DateTimeBox ...
• 1基本拖放 4 • 2构建购物车型拖放 5 • 3创建课程表 8 • 4菜单和按钮Menu and Button 10 ...o 10.4 form 88 o 10.5 window 101 o 10.6 Datagrid and tree 107 从别人5分下下来的,我只要1分
• 1基本拖放 4 • 2构建购物车型拖放 5 • 3创建课程表 8 • 4菜单和按钮Menu and Button 10 o 4.1创建简单菜单 10 o 4.2创建连接按钮 11 ...o 10.4 form 88 o 10.5 window 101 o 10.6 Datagrid and tree 107