在开发中有时需要在js中提交form表单数据,就需要将form表单进行序列化。

jquery提供的serialize方法能够实现。

$("#searchForm").serialize();

但是,观察输出的信息,发现serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串。

例如以下代码:

<form id="searchForm"><input name="id" value="123"/><input name="cx" value="lklj"/>
</form>
<script type="text/javascript">console.info($("#searchForm").serialize());
</script>

输出结果是:id=123&cx=lklj

serialize确实是能够解决一般的提交数据。但是有时我们需要的是一个object对象,而不是字符串(比如jqgrid reload时设置查询条件参数,就需要object对象)。

所以就需要提供一个能将form转化为对象的方法。参考自:http://www.cnblogs.com/yeminglong/p/3799282.html

(function(window, $) {$.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;};
})(window, jQuery);

调用插件:

console.info($("#searchForm").serializeJson());

输出结果:Object {id: "123", cx: "lklj"}

form 表单序列化 serialize相关推荐

  1. 原生js实现form表单序列化的方法

    当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序 ...

  2. form表单序列化问题 checkbox没法序列化

    form表单序列化问题 $.ajax({ type: "post", data: $("#ticketShow").serialize(), dataType: ...

  3. form表单序列化转换为json对象

    form表单序列化转换为json对象 //form表单序列化转换为json对象 (function($){$.fn.serializeJson=function(){var serializeObj= ...

  4. 表单序列化serialize()和serializeArray()的区别以及后台接收

    表单序列化serialize()和serializeArray()的区别以及后台接收 function add() {var data = $("#systemForm").ser ...

  5. 使用FormData对form表单序列化

    一.FormData作用 将form表单元素的name与value进行组合,实现表单数据的序列化 异步上传二进制文件 二.创建formData对象 <!-- 创建普通的html表单 --> ...

  6. jq表单序列化 serialize() serializeArray()的使用

    系列文章目录 文章目录 系列文章目录 前言 一.方法 二.jq 涉及方法说明 1.serialize() 方法: 2.serializeArray() 方法: 前言 问题 :如何快速获取form表单内 ...

  7. jQuery form表单的serialize()参数和其他参数 如何一起传给后端

    在前端给后端传递参数时,有时候form表单,我们为了方便,直接可以通过 var formData=$("#formid").serialize();来统一传给后端,这样可以节省很多 ...

  8. form表单序列化数组

    **第一种**//form表单批量添加name序号相同的序列化数组例如:--------例如开始-------------sex1, name1,age1 :sex2, name2,age2 :序号相 ...

  9. form表单序列化JSON

    1. 简单属性的表单域,序列化后只有一层JSON对象 /*** 功能:序列化form表单数据成Json对象* 1.name均是简单的一级对象* 2.同名的name属性,值会被序列化为数组,例如chec ...

最新文章

  1. 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
  2. 深入了解UIAutomation 的API
  3. OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充
  4. P1197-星球大战【并查集,图论】
  5. java vbs_VBS基础篇 - vbscript Dictionary对象
  6. 均胜群英:PC+移动端数字化管理,两年降本7%,人均产值提高300%
  7. 开源icon、SVG、字体图标库收集
  8. hustoj 配置java_HUSTOJ增加其他语言出现RuntimeError解决办法
  9. linux和嵌入式开发区别,嵌入式开发与普通编程开发的区别
  10. python话费充值_手机话费充值接口开发指南(含API文档,充值移动、联通、电信话费)...
  11. 处理复旦大学中文文分类数据集
  12. keras导入weights
  13. 怎么给PDF添加页面?推荐三个PDF如何插入页面小妙招
  14. 基于vue的移动端Icon图标拖拽(改变定位和使用transform)
  15. 计算机科学与技术有关参考文献,计算机科学与技术毕业论文参考文献示例
  16. 大华流媒体服务器型号列表,大华DAHUA网络视频存储服务器DH-EVS5016S详细信息_产品参数_价格_联系方式_DAV数字音视工程网...
  17. 加载繁体字体时遇到的问题
  18. 用python做视觉检测系统_教你用 Python 做一个物体检测系统
  19. LabVIEW数据采集卡
  20. HTML怎么设置下划线及去掉下划线

热门文章

  1. 字典重复key的合并
  2. 【leetcode 简单】第四十一题 Excel表列序号
  3. CF EDU - E. Lomsat gelral 树上启发式合并
  4. SQLServer如何取得随机获取的数据库记录
  5. google protobuf的简介、安装和使用
  6. PossibleSums
  7. 输入课程信息的C语言代码,[源码和文档分享]基于C语言的课程信息管理系统
  8. qt designer 弹出输入框_Qt编写的项目作品3-输入法V2018
  9. vscode php插件_「PHP从入门到颈椎病康复」基础篇——HelloWorld
  10. flash 音乐 html代码,用html为flash页面添加音乐