序列化表单

现在有下面的的一个form表单:我们需要将它里面的数据内容转化为json格式:

<form id="myForm">
  <input type="text" name="name1" value="name1"/>
  <input type="text" name="name2" value="name2"/>
  <input type="text" name="name3" value="name3"/>
  <div><input type="submit" id="submitBtn"></div>
</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;
};
$.fn.serializeObject = function() {
  var o = {};
  var a = this.serializeArray();
  $.each(a,function(){
    if(o[this.name] !== underfined) {
      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;
};

获取表单中的数据:

$("#submitBtn").on("click",function(){

  var formData = $("myForm").serializeObject();

  console.log(formData);

});

猜你喜欢

转载自my.oschina.net/u/3704598/blog/1610036