将表单元素序列为对象代码实例

将表单元素序列为对象代码实例:
有时候将表单元素序列化一个对象然后再进行操作可能会更加便利,下面就是一段这样的代码能够实现此功能。
代码如下:

function serializeObject(form){ 
  var o={}; 
  $.each(form.serializeArray(),function(index){ 
    if(o[this['name']]){ 
      o[this['name']]=o[this['name']]+","+this['value']; 
    }
    else{ 
      o[this['name']]=this['value']; 
    } 
  }); 
  return o; 
}

以上代码实现了我们的要求,可以将表单元素序列化为一个对象,下面对代码做一下简单注释。
一.代码注释:
1.function serializeObject(form){},参数是一个form表单对象,当然必须是jQuery对象。
2.var o={},声明一个空对象用来存储表单元素的名称和value值,对象的属性名称是表单元素name属性值,属性值是表单元素的value属性值。
3.$.each(form.serializeArray(),function(index){}),form.serializeArray()会返回一个数组,元素是对象直接量,每一个对象直接量包含两个两个名值对,一个是name/name属性值,另一个是value/value属性值。$.each()可以遍历创建的数组。
4.if(o[this['name']]){o[this['name']]=o[this['name']]+","+this['value'];},如果对象中已经存在响应的属性名,那么就进行字符串连接然后再次重置属性值,这个适用于向多个同名复选框被选中的类似情况。
5.else{ o[this['name']]=this['value']; } ,创建属性并赋值。
6.return o,返回生成的对象。
二.相关阅读:
1.serializeArray()函数可以参阅jQuery的serializeArray()方法一章节。 
2.对象直接量可以参阅js对象直接量简单介绍一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13566

更多内容可以参阅:http://www.softwhy.com/jquery/

你可能感兴趣的:(将表单元素序列为对象代码实例)