Jquery SerializeObject - 将form表单转化成Javascript object

来源:互联网 发布:苹果手机还原网络 编辑:程序博客网 时间:2024/04/28 08:42

默认情况下,Jquery无法将form转换成用于ajax参数的Javascript Object。
所以一直以来都是使用selector一个个读取数值然后自己构建Javascript Object的方式。今天偶然看到一段Jquery的插件,可以直接使用:

$(form).serializeObject()  

的形式,将form里面的内容转化成如下漂亮的形式,真是大快人心!

  {    "a":1,    "b":2,    "c":3  }

$.fn.serializeObject = function() {      var o = {};      var a = this.serializeArray();      $.each(a, function() {          if (o[this.name] !== undefined) {              if (!o[this.name].push) {                  o[this.name] = [o[this.name]];              }              o[this.name].push(this.value || '');          } else {              o[this.name] = this.value || '';          }      });      return o;    };

注:serialzeArray根据Jquery的文档,可以提取表单的元素,转换成如下形式(感觉有点不上不下,不知道为什么有这样的一个函数呢?):

    [      {        name: "a",        value: "1"      },      {        name: "b",        value: "2"      },      {        name: "c",        value: "3"      },      {        name: "d",        value: "4"      },      {        name: "e",        value: "5"      }    ]
0 0