jquery form序列化转换为json对象

来源:互联网 发布:燕雀焉知鸿鹄之志全文 编辑:程序博客网 时间:2024/05/20 05:57

做web前端开发时,需要ajax提交大量表单数据,如果一个个form字段拼接很费劲也容易出错,下面方法可解决这个问题

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>jquery form序列化转换为json对象</title><script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script></script> </head><body><form action="" name="post_form" id="post_form">姓名:<input type="name" name="name" value="王"><br/>性别:<input type="radio" name="sex" value="男" checked>男<input type="radio" name="sex" value="女">女<br/>爱好:<input type="checkbox" name="loves" value="篮球" >篮球<input type="checkbox" name="loves" value="足球">足球<br/>籍贯:<select name="province"><option value="上海">上海</option><option value="北京">北京</option><option value="深圳">深圳</option></select></form><div id="result" style="margin-top:20px;width:600px;height:100px;border:1px solid #f00;"></div><div><button id="send">发送</button></div><script>//jquery form序列化转换为json对象(function($){  $.fn.serializeJson=function(){  var serializeObj={};  var array=this.serializeArray();  var str=this.serialize();  $(array).each(function(){  if(serializeObj[this.name]){  if($.isArray(serializeObj[this.name])){  serializeObj[this.name].push(this.value);  }else{  serializeObj[this.name]=[serializeObj[this.name],this.value];  }  }else{  serializeObj[this.name]=this.value;   }  });  return serializeObj;  };  })(jQuery);$(document).ready(function(){$("#send").click(function(){var post_data=$("#post_form").serializeJson();//表单序列化$("#result").html(JSON.stringify(post_data));})})</script></body></html>




0 0