1、jquery扩展方法(表单数据格式化为json对象)

<script type="text/javascript">
// 将表单数据序列化为一个json对象,例如 {"name":"zs", "age":10}
// 使用:var jsonObj = $("#formId").serializeObject();
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
</script>

2、jquery的表单序列化方法

  (1)$("#formId").serialize(): 将所有表单选中项拼接成形如"username=zs&password=123"的字符串

  (2)$("#formId").serializeArray(): 将表单所有选中项拼成json数组,格式为:

    [{name: "username", value: "zs"},{name: "password", value: "123"}]

  (3)$.param(jsonObj): 将json对象转换成形如"username=zs&password=123"的字符串

3、案例

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<body>
<h2>a页面</h2>
<form id="form">
<input type="text" name="username"/>
<input type="text" name="password"/>
<input type="button" value="submit" onclick="formSubmit()"/>
</form>
</body> <script type="text/javascript">
function formSubmit() {
var str = $("#form").serialize();
console.log(str);
var jsonArray = $("#form").serializeArray(); console.log(jsonArray);
console.log(jsonArray[0].name);
console.log(jsonArray[0].value);
console.log(jsonArray[1].name);
console.log(jsonArray[1].value); var jsonObj = $("#form").serializeObject();
console.log(jsonObj);
console.log(jsonObj.username + "---" + jsonObj.password);      var str = $.param(jsonObj);
        console.log(str);
}
</script> <script type="text/javascript">
// 将表单数据序列化为一个json对象,例如 {"name":"zs", "age":10}
// 使用:var jsonObj = $("#formId").serializeObject();
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
</script>
</html>

  结果:

  

最新文章

  1. 关于Java8函数式编程你需要了解的几点
  2. Spring实现文件上传
  3. Spring SpringMVC和Mybatis整合
  4. SAP 中的用户类型
  5. MonoDevelop line endings
  6. bzoj3594: [Scoi2014]方伯伯的玉米田
  7. CENTOS YUM软件源
  8. VHD轻松实现双系统
  9. GCC 警告提示的用法
  10. 用overflow-y 解决web页面抖动问题
  11. (UML两个汇总)九种图。
  12. DLL调试方法
  13. debian change system language
  14. python中 __cmp__
  15. linux 安装 kafka&amp;zookeeper
  16. oracle 11.2 asynch descriptor resize等待事件
  17. java ArrayList 迭代器快速失败源码分析
  18. C语言屏幕打印,再删除打印的内容
  19. xshell评估过期解决办法
  20. The differentiation program with abstract data

热门文章

  1. python基础--导入模块
  2. 深入理解java:4.3. 框架编程之MyBatis原理深入解析
  3. 【转帖】国产x86处理器KX-6000发布
  4. AT2292 Division into Two
  5. Python 入门之 内置模块 -- datetime模块
  6. 元素定位--firebug安装
  7. MySQL数据表操作命令
  8. 请求转发forward()和URL重定向redirect()的区别
  9. celery源码解读
  10. 格兰杰因果 Granger causality