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 EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
Jquery EasyUI $.Parser
Jun 02 jQuery
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
jQuery中复合选择器简单用法示例
Mar 31 jQuery
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
jquery+css3实现的经典弹出层效果示例
May 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常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
两个php日期控制类实例
2014/12/09 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
php获取excel文件数据
2017/04/21 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
Python中List.index()方法的使用教程
2015/05/20 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
为什么相对PHP黑python的更少
2020/06/21 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
协议书的格式
2014/04/23 职场文书
初中学生评语大全
2014/04/24 职场文书
员工培训协议书
2014/09/15 职场文书
毕业生班级鉴定评语
2015/01/04 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
学校开除通知书
2015/04/25 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS