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实现百度登录框的动态切换效果
Apr 21 jQuery
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
jquery实现左右轮播切换效果
Jan 01 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
AJAX在JQuery中的应用详解
Jan 30 jQuery
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
jQuery实现高级检索功能
May 28 jQuery
jQuery实现弹出层效果
Dec 10 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
Jquery Fade用法详解
Nov 06 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数字运算验证码的实现代码
2015/07/30 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
javascript实现倒计时效果
2020/02/17 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python解析最简单的验证码
2016/01/07 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
对python sklearn one-hot编码详解
2018/07/10 Python
python自动点赞功能的实现思路
2020/02/26 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
行政文员岗位职责
2013/11/08 职场文书
在校生自我鉴定
2014/01/23 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
护士求职自荐信范文
2015/03/04 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
Java对文件的读写操作方法
2022/04/29 Java/Android