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插件Echarts实现的渐变色柱状图
Mar 23 jQuery
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
jQuery复合事件用法示例
Jun 10 jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
jQuery pjax 应用简单示例
Sep 20 jQuery
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
jquery插件实现图片悬浮
Apr 16 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 远程关机实现代码
2009/11/10 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Ajax基础知识详解
2017/02/17 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python内置函数dir详解
2015/04/14 Python
python基础教程之五种数据类型详解
2017/01/12 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
Python requests接口测试实现代码
2020/09/08 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
销售人才自我评价范文
2014/09/27 职场文书
感谢信的格式
2015/01/21 职场文书
盗窃案辩护词
2015/05/21 职场文书
如何使用Tkinter进行窗口的管理与设置
2021/06/30 Python