针对form表单赋值封装
1 (function ($){ 2 $.fn.extend({ 3 exajax:function(url,opts,convert){ 4 var ajaxParam = { 5 url:url, 6 async : false, // 同步 7 type:'POST', // 请求类型 8 cache:false, // 不缓存 9 dataType:'json', 10 success:'', 11 error : '' 12 }; 13 opts =opts||{}; 14 for(var k in opts){ 15 if(ajaxParam.hasOwnProperty(k)||'data'==k){ 16 if(k=='data'){ 17 try{ 18 var params = opts['data']; 19 if(!convert){ 20 params = JSON.stringify(params); 21 ajaxParam.contentType= 'application/json'; 22 } 23 ajaxParam.data= params; 24 }catch(e){ 25 } 26 }else 27 if(k=='success'){ 28 var success = opts[k]; 29 ajaxParam[k] =function(data){ 30 if(success){ 31 if(typeof success == 'function'){ 32 success.apply(success,[data]); 33 }else{ 34 if(success.message){ 35 BootstrapDialog.show({ 36 title: success.title||'系统消息', 37 message: success.message||'操作成功', 38 buttons: [{ 39 label: '确定', 40 action: function(dialogItself){ 41 dialogItself.close(); 42 } 43 }] 44 }); 45 } 46 47 } 48 } 49 } 50 }else 51 if(k=='error'){ 52 var error = opts[k]; 53 ajaxParam[k] =function(e) { 54 if(error){ 55 if(typeof error == 'function'){ 56 error.apply(error,[e]); 57 }else{ 58 if(error.message){ 59 BootstrapDialog.show({ 60 title: error.title||'系统错误', 61 message: error.message||'系统未知错误 - '+e.description, 62 buttons: [{ 63 label: '确定', 64 action: function(dialogItself){ 65 dialogItself.close(); 66 } 67 }] 68 }); 69 } 70 } 71 } 72 } 73 }else{ 74 ajaxParam[k] = opts[k]; 75 } 76 } 77 } 78 $.ajax(ajaxParam); 79 }, 80 getJsonFormValues:function(){ 81 el = $(this); 82 var elementsObj = el.get(0).elements; 83 var ret = {}; 84 if(elementsObj){ 85 $.each(elementsObj,function(index, obj){ 86 val = null; 87 if (obj.tagName == "INPUT" || obj.tagName == "SELECT") { 88 val = obj.value; 89 if(obj.name == "id" && obj.value == ""){ 90 val = null; 91 } 92 if(obj.type == 'checkbox' || obj.type == 'radio'){ 93 if($(obj).is(':checked')){ 94 var result; 95 if(typeof obj.value !=undefined){ 96 result = obj.value; 97 } 98 if(obj.type == 'radio'){ 99 ret[obj.name]=result; 100 }else{ 101 if(!ret[obj.name]){ 102 ret[obj.name] = []; 103 } 104 ret[obj.name].push(result); 105 } 106 } 107 } 108 if(obj.type != 'checkbox' && obj.type != 'radio'){ 109 ret[obj.name] = val; 110 } 111 } 112 }); 113 } 114 return ret; 115 }, 116 getFormValues:function(){ 117 el = $(this); 118 var result = $(this).serialize(); 119 //var elementsObj = el.get(0).elements; 120 //var ret = {}; 121 //if(elementsObj){122 //$.each(elementsObj,function(index, obj){123 //if(obj.type == 'hidden'){124 //result += "&" +obj.name+"="+obj.value; 125 //} 126 //}); 127 //} 128 return result; 129 }, 130 getFormValueNoHidden:function(){ 131 el = $(this); 132 var result = $(this).serialize(); 133 var elementsObj = el.get(0).elements; 134 var ret = {}; 135 if(elementsObj){ 136 $.each(elementsObj,function(index, obj){ 137 }); 138 } 139 return result; 140 }, 141 setFormValues:function(data){ 142 el = $(this); 143 var elementsObj = el.get(0).elements; 144 if (elementsObj) { 145 $.each(elementsObj,function(index, obj){ 146 if (obj.tagName == "INPUT" || obj.tagName == "SELECT") { 147 val = null; 148 if(data[obj.name] != undefined){ 149 var func = data[obj.name]; 150 if(typeof(func)=='function'){ 151 val = func.apply(func,[val,obj,elementsObj]); 152 }else{ 153 val = func; 154 } 155 } 156 //if(format&&format[obj.name]!= undefined){157 //func = format[obj.name]; 158 //if(typeof(func)=='function'){159 //val = func.apply(func,[val,obj,data]); 160 //}else{161 //val = func; 162 //} 163 //} 164 if(obj.type == 'checkbox' || obj.type == 'radio'){ 165 if(obj.value !=undefined && val instanceof Array){ 166 for(var v in val){ 167 if(val[v]==obj.value){ 168 $(obj).prop("checked",true); 169 } 170 } 171 }else{ 172 if(null!=val &&val!=undefined&&(val == true || val == 1||val==obj.value)){ 173 $(obj).prop("checked",true); 174 }else{ 175 $(obj).prop("checked",false); 176 } 177 } 178 }else if(obj.type=='file'){ 179 // do nothing; 180 }else{ 181 obj.value = val; 182 } 183 } 184 }); 185 } 186 } 187 }); 188 })(jQuery);
转载于:https://www.cnblogs.com/benmumu/p/11097772.html
针对form表单赋值封装相关推荐
- vue 给form表单赋值_vue获取form表单的值示例
vue获取form表单的值示例 这里使用的是Element-ui组件 html: JS: var phone = this.phone; var password = this.password; v ...
- js获取form表单数据和form表单赋值
$.fn.extend({ // 调用方式:$("xxxxx").getform(); getform: function () { var obj = {};var array ...
- 从js给html的form表单赋值,js获取form表单数据和form表单赋值
$.fn.extend({ // 调用方式:$("xxxxx").getform(); getform: function () { var obj = {}; var array ...
- Ant Design Vue 如何获form表单里数据 并给 v-decorator绑定的数据重新赋值
最近在用ant design vue 做项目 遇到了 一下坑 比如 v-decorator 可以做数据 绑定 与v-model 不同的是 给 form 表单赋值 v-model 的值是 双向绑定的 如 ...
- 基于vue3 element plus form 表单的二次封装
记录一下开发中对form表单的二次封装及使用 前言 在我们的日常工作中经常会使用到form表来满足提交需求,那么将form表单封装成组件将会大大提高我们的工作效率,避免更多重复代码的书写,只需一些简单 ...
- 报错解决:form表单提交存入数据库出现中文乱码
遇到问题:在JavaWeb学习阶段,通过表单提交对数据库数据进行修改,发现原本为中文字段的数据,表单提交之后都变成了乱码. 解决措施:针对form表单的请求方式修改编码格式 get和post请求的区别 ...
- ajax无刷新方式对form表单进行赋值!
/*** 把json数据填充到from表单中*/ <form id="editForm" action="user.php">用户名:<inp ...
- jQuery——封装form表单的数据为json对象
CDN <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js" integrit ...
- ExtJs 备忘录(2)—— Form表单(二) [ 控件封装 ]
前言 本以为可以稳稳当当的工作.安安心心的写文章,结果我做了一件非常疯狂的事情,换新工作一周后辞了--然后去了另外一家公司 - - #,理由就不详说了,总之现在是每天加班到8-9点,虽然如此但是这个团 ...
- 简易封装 element form表单
1.Form 表单 由输入框.选择器.单选框.多选框等控件组成,用以收集.校验.提交数据 典型表单 包括各种表单项,比如输入框.选择器.开关.单选框.多选框等. 在 Form 组 ...
最新文章
- 2017年英特尔在其数据中心业务和AI方面下大注
- sonar的安装以及使用
- ubuntu14.04 访问windows目录的方法 mount.cifs方式 取代smbfs方式
- SQL Server表分区【转】
- 数组的连续最大子段和
- 中兴通讯、江苏联通联合成立5G消息开放实验室
- httpd路径映射和重定向
- Spring boot与Quartz实现任务定时提醒
- mantis config_inc.php g_source,CentOS7下Mantis安装与配置
- 代理设置(wget/yum)
- redhat7 配置静态ip
- 转载:《算法刷题LeetCode(中文版)》LeetCode题解,151道题完整版
- php开发bt种子,[原创作品][PHP]BT种子打包推送小神器~~
- 2021中国科学院文献情报中心期刊分区表 计算机(2)
- 中国这10家慕课网站,您需要知道
- Linux系统部署solr服务,不配置Tomcat服务器
- 【练习】Accessing data with MySQL
- VS Code C++ 代码格式化方法(clang-format)
- YbtOj#20073. 「NOIP2020 模拟赛 B 组 Day6」钻石守卫
- Java视频教程百度网盘,Java精选面试Spring全家桶