1. 程式人生 > >使用serializeObject()將form表單中的資料序列化成物件

使用serializeObject()將form表單中的資料序列化成物件

在ajax中有 serializeArray()方法 可以將form表單中的資料序列化成如下的格式

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

但是有時候,我們需要將form表單序列化成物件的格式,那麼封裝一個簡單的函式便會更簡單

$.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; };

可以使用這個方法直接將from表單中的資料序列化成如下的物件格式

{
    name:1,
    age:11,
    weight:60
}