针对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);
针对form表单赋值封装的更多相关文章
- jquery form表单赋值封装
;!(function ($) { $.fn.setFormValue = function (options) { var $this = $(this); $.each(options, func ...
- 文档驱动 —— 表单组件(六):基于AntDV的Form表单的封装,目标还是不写代码
开源代码 https://github.com/naturefwvue/nf-vue3-ant 也不知道大家是怎么写代码的,这里全当抛砖引玉 为何封装? AntDV非常强大,效果也非常漂亮,功能强大, ...
- 10.12Django form表单
2018-10-12 15:24:23 From表单参考连接: https://www.cnblogs.com/yuanchenqi/articles/7614921.html 新增了ModelFor ...
- java中的http请求的封装(GET、POST、form表单形式)
目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,Ht ...
- 封装Vue Element的form表单组件
前两天封装了一个基于vue和Element的table表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...
- jquery自动将form表单封装成json的具体实现
前端页面:<span style="font-size:14px;"> <form action="" method="post&q ...
- form表单 获取与赋值
form表单中使用频繁的组件: 文本框.单选框.多选框.下拉框.文本域form通过getValues()获取表单中所有name的值 通过setValues({key:values})给对应的name值 ...
- ajax无刷新方式对form表单进行赋值!
/** * 把json数据填充到from表单中 */ <form id="editForm" action="user.php"> 用户名:< ...
- Vue + Element-ui实现后台管理系统(5)---封装一个Form表单组件和Table表格组件
封装一个Form表单组件和Table组件 有关后台管理系统之前写过四遍博客,看这篇之前最好先看下这四篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-syste ...
随机推荐
- 接口自动化测试框架(Java 实现)
目录 需求分析 开发设计 分层与抽象 技术选型 主要类设计 测试文件设计 工程目录设计 工程实现 github 地址 运行示例 需求分析 需求点 需求分析 通过 yaml 配置接口操作和用例 后续新增 ...
- XSHELL的坑
今天使用XSHELL连接虚拟机上的CENTOS7 ,刚开始还可以正常连接,后来再就连接不上. 检查了半天SSH服务都检查过了运行正常, 重启,检查配置文件. 都OK没问题就是连接不上,折腾半天还是不行 ...
- Linux环境下安装Maven
最近在搞虚拟机,记录下虚拟机内Maven环境的搭建流程 一.选择合适的版本(由于Maven运行需要依赖于JDK,所以安装之前需要保证当前虚拟机下已经安装并配置好JDK环境,安装流程参见) https: ...
- 解决jira配置gmail邮箱报错
具体报错: AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 ...
- phpmyadmin 4.8.1 文件包含漏
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 3.点击新建项目按钮,弹出对画框中选择(C:\ ...
- xx局点FusionCloud6.3 type1 计算配额失败问题
现象: 排查过程: 1.登录云平台部署面,选择部署资源-服务器 2.找到MOC-ManageOne-Service01.MOC-ManageOne-Service02两台机器ip地址. 3.用ssh工 ...
- 浅析Java反射--Java
前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...
- 网络编程 --安装wkhtmltopdf出现中文乱码的情况
1 首先下载安装包 2安装依赖文件apt-get install libxfont1 xfonts-encodings xfonts-utils xfonts-base xfonts-75dpi su ...
- linux管理用户(组)与相关问题处理
相关联文件如下: /etc/passwd/etc/shadow/etc/group ================================= [切换当前用户为root]sudo -i [创建 ...
- 下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d"?
对于如下代码: String s1 = "a"; String s2 = s1 + "b"; String s3 = "a" + " ...