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插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
jquery实现左右轮播切换效果
Jan 01 jQuery
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jquery实现点击左右按钮切换图片
Jan 27 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 UTF8编码内的繁简转换类
2009/07/20 PHP
PHP 错误处理机制
2015/07/06 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
js函数排序的实例代码
2013/07/01 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
在Python下尝试多线程编程
2015/04/28 Python
python实现分页效果
2017/10/25 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python 函数中的参数类型
2020/02/11 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
python实现电子词典
2020/03/03 Python
Python 列表反转显示的四种方法
2020/11/16 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
银行会计业务的个人自我评价
2013/11/02 职场文书
大学毕业感言100字
2014/02/03 职场文书
总经理助理工作职责
2014/02/06 职场文书
护士试用期自我鉴定
2014/02/08 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
党员志愿者活动总结
2014/06/26 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
公司文体活动总结
2015/05/07 职场文书
2015大一新生军训感言
2015/08/01 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
Go 中的空白标识符下划线
2022/03/25 Golang
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript