jQuery实现form表单序列化转换为json对象功能示例


Posted in jQuery onMay 23, 2018

本文实例讲述了jQuery实现form表单序列化转换为json对象功能。分享给大家供大家参考,具体如下:

做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>

运行效果如下图所示:

jQuery实现form表单序列化转换为json对象功能示例

jQuery 相关文章推荐
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
20个最常见的jQuery面试问题及答案
May 23 #jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 #jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 #jQuery
jQuery获取随机颜色的实例代码
May 21 #jQuery
如何用input标签和jquery实现多图片的上传和回显功能
May 16 #jQuery
jQuery中元素选择器(element)简单用法示例
May 14 #jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 #jQuery
You might like
PHP中str_replace函数使用小结
2008/10/11 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python分布式编程实现过程解析
2019/11/08 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
python PIL模块的基本使用
2020/09/29 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
本科毕业生自我鉴定
2013/11/02 职场文书
最新党员的自我评价分享
2013/11/04 职场文书
我未来的职业规划范文
2014/01/11 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
商务司机岗位职责
2015/04/10 职场文书
产品调价通知函
2015/04/20 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
解除合同协议书范本
2016/03/21 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书