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>

  结果:

  

jquery扩展方法(表单数据格式化为json对象)的更多相关文章

  1. 拓展jQuery的serialize(),将form表单转化为json对象

    jQuery 的 serialize() 方法经常会报 Uncaught TypeError: JSON.serializeObject is not a function 的错误, 原装的方法真的一 ...

  2. jQuery表单验证以及将表单序列化为json对象小练习

    jquery表单验证(非实时验证),同时,将表单序列化为json对象提交表单. <!DOCTYPE html> <html lang="en"> <h ...

  3. 023-将表单序列化为json对象

    使用jQuery将表单序列化为json对象,其中serializeJson方法的名字任意,serializeArray()这个jQuery提供的方法.this指的就是谁调用了这个方法. $.fn.se ...

  4. 将表单序列化为JSON对象

    将表单序列化为JSON对象的工具方法: $(function() { //工具方法,可以将指定的表单中的输入项目序列化为JSON数据 $.fn.serializeJson = function() { ...

  5. Jquery 将表单序列化为Json对象

    大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用 ...

  6. jQuery实现form表单序列化转换为json对象功能示例

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. jQuery form表单序列化为JSON对象!

    /* 来源于博客园http://www.cnblogs.com/nixil/archive/2010/12/08/1900745.html */ function paramString2obj(se ...

  8. js 表单序列化为json对象

    $.fn.serializeJson = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () ...

  9. From 表单序列化为json对象(代码片段)

    $.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); $(array).each(f ...

随机推荐

  1. 【Qt开发】Qt5.7串口开发

    QT5有专门的串口类:  QSerialPort:提供访问串口的功能  QSerialPortInfo:提供系统中存在的串口的信息  具体使用方法:  1.在pro文件中加入: QT += seria ...

  2. Akka系列(二):Akka中的Actor系统

    前言......... Actor模型作为Akka中最核心的概念,所以Actor在Akka中的组织结构是至关重要,本文主要介绍Akka中Actor系统. 1.Actor系统 Actor作为一种封装状态 ...

  3. linux操作系统安装运行Redis

    Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 1.安装gcc      yum install gcc ...

  4. [gym101981D][2018ICPC南京D题]Country Meow

    题目链接 题目大意是求三维空间可以包含$n$个点的最小圆半径. 如果有做过洛谷P1337就会发现这到题很模拟退火,所以就瞎搞一发. $PS:$注意本题时限$3$秒. #include<bits/ ...

  5. python里面列表函数的使用及注意

    1.append 在末尾插入一个内容: a= [i for i in range(1,6)] print(a) a.append(100) print(a) 2.insert 指定位置插入内容 ins ...

  6. webelement类的方法

    webelement类的方法,常用的汇总如下: clear()清空 例如登录时先清空输入框中的内容 driver.find_element_by_id('username').clear() clic ...

  7. asp.net运行原理及机制

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  8. 11.AutoMapper 之值转换器(Value Transformers)

    https://www.jianshu.com/p/b77311546e64 值转换器(Value Transformers) 值转换器应用于单一类型的转换.AutoMapper在分配值之前,会检测该 ...

  9. Solr IK分词器配置

    下载地址:https://search.maven.org/search?q=com.github.magese 分词器配置: 参考:https://www.cnblogs.com/mengjinlu ...

  10. Python 安装cx_Oracle模块折腾笔记

    kali linux/ubuntu下安装: 不得不说安装这个模块很蛋疼,决定做个记录. sudo apt install build-essential unzip python-dev libaio ...