使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换

  1. $.fn.serializeObject = function () {
  2. var o = {};
  3. var a = this.serializeArray();
  4. $.each(a, function () {
  5. if (o[this.name]) {
  6. if (!o[this.name].push) {
  7. o[this.name] = [o[this.name]];
  8. }
  9. o[this.name].push(this.value || ‘‘);
  10. } else {
  11. o[this.name] = this.value || ‘‘;
  12. }
  13. });
  14. return o;
  15. };
  16. var formData = $("#editForm").serializeObject();

var json={
   id:"id1",
   name:"开心"
};
 
//添加
json["gender"]="男"
json["age"]=26;
alert(json.age);
 
//删除
delete json["age"];
alert(json.age);
alert(json.gender);

  1. $.fn.serializeObject = function () {
  2. var o = {};
  3. var a = this.serializeArray();
  4. $.each(a, function () {
  5. if (o[this.name]) {
  6. if (!o[this.name].push) {
  7. o[this.name] = [o[this.name]];
  8. }
  9. o[this.name].push(this.value || ‘‘);
  10. } else {
  11. o[this.name] = this.value || ‘‘;
  12. }
  13. });
  14. return o;
  15. };
时间: 2024-12-17 07:47:51

使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换的相关文章

Spring MVC 接受表单 自动封装特性

Spring MVC中的Controller可以以实体类接受来自客户端的form表单,表单的字段自动构成实体类对象 客户端的表单 <form action="http://localhost:8080/test/user" method="POST"> <!-- 每个字段名对应实体类 --> <div> <input type="text" name="name"/> </

jquery序列化表单以及回调函数的使用

在开发项目中,将前台的值传给后台,有时的JSP表单中的值有一两个,也有全部的值,如果这时一个个传,必定不是很好的办法,所以使用jQuery提供的表单序列化方法,可以很好的解决这个问题,同时可以封装成通用的函数,执行成功可以调用各自的回调函数,实现各自的功能. 代码如下: function queryUserInfo(actionUrl,formId,fun){ var params=new Object(); //声明数组 $.each($("#"+formId).serializeA

Jquery 系列化表单

大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用serialize序列化后,将&替换成“:”.“‘”: 1 /** 2 * 重置form表单 3 * @param formId form的id 4 */ 5 function resetQuery(formId){ 6 var fid = "#" + formId; 7 var

jQuery formValidator表单验证插件常见有关问题

jQuery formValidator表单验证插件常见问题 如何实现一个控件,根据不同的情况,实现不同的控制? 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验? 我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗? 所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗? 我有一组的checkbox(radiobutton)如何设置校验? 我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如

chrome表单自动填充导致input文本框背景变成偏黄色问题解决

chrome表单自动填充导致input文本框背景变成偏黄色问题解决 作者:佚名 字体:[增加 减小] 来源:互联网 时间:08-21 18:43:32我要评论 chrome表单自动填充后,input文本框的背景会变成偏黄色的,想必大家都会碰到这种情况吧,这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性造成的,解决方法如下,感兴趣的朋友可以了解下 chrome表单自动填充后,input文本框的背景会变成偏黄色的,这是由于chrome会默认

jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 应用

一.jQuery Form的其他api  1.  formSerialize 将表单序列化成查询串.这个方法将返回一个形如: name1=value1&name2=value2的字符串.是否可以连环调用: 否, 这个方法返回的是一个字符串. 例子: var queryString = $('#myFormId').formSerialize(); // the data could now be submitted using $.get, $.post, $.ajax, etc $.post(

Extjs的form表单自动装载数据(通过Ext.data.Model的代理加载数据)

在做项目的时候遇到一个问题,以前双击grid页面一行数据的时候,会吧双击这一行的数据自动加载到双击的页面(Ext的弹出框),可以通过this.down(''form).getForm().loadRecord(record)来自动加载,可是现在有一个需求就是双击grid一行弹出一个新的浏览器页面(不是ext的弹出框,通过window.open()实现),只能把双击的id传到页面,再重新查数据手动赋值,如果一个页面字段很多,一个一个赋值是很辛苦的,所以就想能不能自动装载数据 通过长时间研究发现,t

chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式。

参考blog来自 http://segmentfault.com/q/1010000000671971 chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式. 一.发现该问题的原因-是在写账号登录页面时,input表单添加了背景图片,当自动填充,搓搓的一坨淡黄色背景出来. 这个原因是我草率的直接设置在input元素里面,结果问题就来了.所以如果把这个图标放在input表单外面,就不会出现这个问题. 二.表单自动填充会添加浏览器默认样式怎么处理和避免 第二张图,就是表单自动填充后,

jQuery的表单异步提交(MVC版)

之前在公司做了一个关于热门专业的项目,用到了jQuery的表单异步提交,由于项目是MVC5框架的,所以我的代码也只是针对MVC而言的哦! 代码如下: $.ajax({ type: "POST", url: "/HotMajor/AddOK", dataType:"text", data:$('#hotmajor').serialize(), success: function (dat) { if (dat == "true"