因仑“3+1”工程特种兵精英论坛

标题: Jquery 将表单序列化为Json对象 [打印本页]

作者: leixiaofeng    时间: 2015-3-30 12:18
标题: Jquery 将表单序列化为Json对象

我在网上看到有人用替换的方法,先用serialize序列化后,将&替换成“:”、“‘”:

个人感觉这样做有bug。


我的方法是,先用serializeArray序列化为数组,再封装为Json对象。



下面是表单:



Jquery插件代码如下:




下面测试一下:$("#myForm").bind("submit",function(e){

测试结果:

输入a,b提交,得到序列化结果

{age: "b",name: "a"}



上面的插件,不能适用于有多个值的输入控件,例如复选框、多选的select。下面,我将插件做进一步的修改,让其支持多选。代码如下:


这里,我将多选的值封装为一个数值来进行处理。如果大家使用的时候需要将多选的值封装为“,"连接的字符串或者其他形式,请自行修改相应代码。


测试如下:

表单:


测试结果:

{age: "aa",interest: ["interest2", "interest4"],name: "dd",vehicle:["Bike","Car"]}







欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4