$.fn.serializeObject = function(){ var obj = {}; var count = 0; $.each( this.serializeArray(), function(i,o){ var n = o.name, v = o.value; count++; obj[n] = obj[n] === undefined ? v: $.isArray( obj[n] ) ? obj[n].concat( v ): [ obj[n], v ]; }); obj.nameCounts = count + "";//表单name个数 return JSON.stringify(obj); };
PS: Jquery自带了一些序列化的方法:
其中一个是form.serializeArray();
这个方法的结果很蛋疼,转成了如下的格式:
显然我已经不知所措了。
第二个是form.serialize();
这个方法就是序列化,和一般的格式一样:
emp.empid=&emp.empname=2&emp.sex=F&emp.orgid=1&emp.empcode=123&emp.postcode=3&emp.address=123&emp.phone=4&emp.wage=123
但是还不是我们想要的json格式。
在网上找到了一个有解释的结果:其实还是使用serializeArray()方法,这个方法将form中的元素转化成了一个包含name,value的一个对象。同时还是一个数组。
var o 申明一个对象。 var a 取得选择对象的数组对象 $.each(a,function() 遍历这个数组对象 if(o[this.name]) 如果这个对象的名称不存在 if(!o[this.name].push)如果这个对象没被放进去, 后面的 如果对象被放进去了。o[this.name].push()取得当前的名称对应的值放到对象里。 else 后面的为如果对象名称存在,覆盖之前的值。
转化出来的结果如:
{"emp.empid":"","emp.empname":"魏都区","emp.sex":"M","emp.orgid":"12","emp.empcode":"123","emp.postcode":"312","emp.address":"123","emp.phone":"123","emp.wage":"123","nameCounts":"9"}
相关推荐
1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传给服务器,从而可以实现无刷新的form提交。; 2、通过AJAX从服务器得到json格式的数据,然后使用本工具解析数据填入form。从而可以实现无刷新的...
本篇将详细介绍如何在HTML表单中收集数据,并利用jQuery的`ajax`方法将这些数据转化为JSON格式,以便于插入Oracle数据库。 首先,让我们了解一下HTML表单的基本结构。一个简单的HTML表单可能包含以下元素: ```...
在Web开发中,经常需要将用户在HTML表单(Form)中输入的数据转换为JSON格式,以便于数据传输和处理。这个过程涉及到JavaScript语言的一些核心概念,如DOM操作、对象和数组操作以及JSON对象的使用。以下是对这个主题...
在Web开发中,动态生成表单页面是一种常见的需求,特别是在数据驱动的...通过查看源码,你可以更深入地了解如何将JSON数据与动态生成的表单页面相结合,这将有助于提升你在JavaScript开发中处理表单输入控件的能力。
在前端开发中,有时我们需要将JSON格式的数据转换成表单(form)的格式进行提交,以便于服务器端处理。在JavaScript的世界里,jQuery库提供了一种便捷的方式来进行这样的转换。本篇文章将深入探讨如何利用jQuery从...
本篇文章将详细介绍如何在HTML5表单中使用JSON格式的数据,并提供一个具体的实例来展示其实际应用。 首先,JSON格式是一种基于文本的、易于人阅读和编写的格式,主要由键值对组成,键用引号包围,值可以是字符串、...
在标题和描述提到的场景中,我们需要创建一个jQuery扩展,将复杂的form表单数据转换为JSON对象。这通常涉及到遍历表单元素,获取它们的值,并构建JSON对象。以下是一个简单的示例: ```javascript (function($) { ...
如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascript来创建json格式字符串。这是非常有用的,我们将通过jQuery插件$.toJSON把数据对象转换为json...
这个过程包括了选择表单元素、序列化为数组、处理同名元素以及将数据结构转换为JSON格式。这个方法不仅适用于简单的表单,也能够处理更复杂的情况,如多选下拉框和复选框组。理解并掌握这种技巧,对于编写高效、简洁...
今天我们将探讨如何使用JavaScript来获取form表单中name属性的值,并且着重讲解在动态表单的情况下,当无法预先确定标签的name属性值时,如何即时获取这些值以便进行存储或处理。 在文章中首先提到的方法是使用...
我们可以使用`FormData`对象来获取表单中的所有数据,然后利用`jQuery`或者原生JavaScript的`querySelectorAll`等方法遍历表单元素,将每个字段的值与对应的键组合成键值对,最后用`JSON.stringify()`函数将对象转换...
在Vue.js开发中,处理表单数据是常见的需求,尤其是当需要将表单数据转换为JSON格式以便于发送到服务器或者进行其他处理时。本文将详细介绍如何在Vue中实现这一功能。 首先,我们要理解表单数据通常是通过HTML的`...
在C#中,我们可以使用`Newtonsoft.Json`库(Json.NET)或者内置的`System.Text.Json`来序列化对象为JSON字符串。 1. 序列化对象为JSON:首先,定义一个C#对象,然后使用Json.NET的`JsonConvert.SerializeObject`...
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现。 我在网上看到有人用替换的方法,先用serialize序列化后,将&替换...
根据提供的标题“js获取form表单”及描述“ajax js一次性获取form表单”,我们可以明确本篇文章将围绕JavaScript(简称JS)中如何通过Ajax技术一次性获取HTML中的`<form>`表单数据进行详细介绍。 #### 二、知识点...
要将一个C#对象序列化为JSON字符串,可以使用`JsonConvert.SerializeObject()`方法;反序列化则使用`JsonConvert.DeserializeObject()`。 例如: ```csharp using Newtonsoft.Json; public class User { public ...
对于JSON Body,我们可以读取并转换为字符串,而对于FormData,我们需要将其转换为`MultiValueMap`并存储在`GatewayContext`中。同时,由于FormData和Body只能读取一次,因此在读取后,我们需要重新包装`...
在jQuery中,`$("#form").serializeArray()`方法可以将表单中的所有元素转换为一个数组,其中每个元素都是一个对象,包含`name`和`value`属性。这个数组的结构类似于: ```javascript [ { "name": "element1Name...