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表单赋值封装相关推荐

  1. vue 给form表单赋值_vue获取form表单的值示例

    vue获取form表单的值示例 这里使用的是Element-ui组件 html: JS: var phone = this.phone; var password = this.password; v ...

  2. js获取form表单数据和form表单赋值

    $.fn.extend({ // 调用方式:$("xxxxx").getform(); getform: function () { var obj = {};var array ...

  3. 从js给html的form表单赋值,js获取form表单数据和form表单赋值

    $.fn.extend({ // 调用方式:$("xxxxx").getform(); getform: function () { var obj = {}; var array ...

  4. Ant Design Vue 如何获form表单里数据 并给 v-decorator绑定的数据重新赋值

    最近在用ant design vue 做项目 遇到了 一下坑 比如 v-decorator 可以做数据 绑定 与v-model 不同的是 给 form 表单赋值 v-model 的值是 双向绑定的 如 ...

  5. 基于vue3 element plus form 表单的二次封装

    记录一下开发中对form表单的二次封装及使用 前言 在我们的日常工作中经常会使用到form表来满足提交需求,那么将form表单封装成组件将会大大提高我们的工作效率,避免更多重复代码的书写,只需一些简单 ...

  6. 报错解决:form表单提交存入数据库出现中文乱码

    遇到问题:在JavaWeb学习阶段,通过表单提交对数据库数据进行修改,发现原本为中文字段的数据,表单提交之后都变成了乱码. 解决措施:针对form表单的请求方式修改编码格式 get和post请求的区别 ...

  7. ajax无刷新方式对form表单进行赋值!

    /*** 把json数据填充到from表单中*/ <form id="editForm" action="user.php">用户名:<inp ...

  8. jQuery——封装form表单的数据为json对象

    CDN <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js" integrit ...

  9. ExtJs 备忘录(2)—— Form表单(二) [ 控件封装 ]

    前言 本以为可以稳稳当当的工作.安安心心的写文章,结果我做了一件非常疯狂的事情,换新工作一周后辞了--然后去了另外一家公司 - - #,理由就不详说了,总之现在是每天加班到8-9点,虽然如此但是这个团 ...

  10. 简易封装 element form表单

    1.Form 表单            由输入框.选择器.单选框.多选框等控件组成,用以收集.校验.提交数据 典型表单 包括各种表单项,比如输入框.选择器.开关.单选框.多选框等. 在 Form 组 ...

最新文章

  1. 2017年英特尔在其数据中心业务和AI方面下大注
  2. sonar的安装以及使用
  3. ubuntu14.04 访问windows目录的方法 mount.cifs方式 取代smbfs方式
  4. SQL Server表分区【转】
  5. 数组的连续最大子段和
  6. 中兴通讯、江苏联通联合成立5G消息开放实验室
  7. httpd路径映射和重定向
  8. Spring boot与Quartz实现任务定时提醒
  9. mantis config_inc.php g_source,CentOS7下Mantis安装与配置
  10. 代理设置(wget/yum)
  11. redhat7 配置静态ip
  12. 转载:《算法刷题LeetCode(中文版)》LeetCode题解,151道题完整版
  13. php开发bt种子,[原创作品][PHP]BT种子打包推送小神器~~
  14. 2021中国科学院文献情报中心期刊分区表 计算机(2)
  15. 中国这10家慕课网站,您需要知道
  16. Linux系统部署solr服务,不配置Tomcat服务器
  17. 【练习】Accessing data with MySQL
  18. VS Code C++ 代码格式化方法(clang-format)
  19. YbtOj#20073. 「NOIP2020 模拟赛 B 组 Day6」钻石守卫
  20. Java视频教程百度网盘,Java精选面试Spring全家桶

热门文章

  1. 网奇iwms插件之“我浏览过的文章”
  2. web安全day5:DNS部署与安全
  3. 怎么通俗简洁地解释「云端」和「云计算」?
  4. Linux firewall防火墙详解(一)——firewall基础知识简介
  5. 利用有序队列寻找最大的K个数
  6. nmap +shell脚本实现内网端口巡检
  7. mysql计算指定的时间TPS
  8. MySQL学习笔记之约束条件
  9. vSphere Replication:虚拟机的保护伞
  10. python的sift算法_opencv python SIFT(尺度不变特征变换)