serializeArray()方法说明:

实例

输出以数组形式序列化表单值的结果:

$("button").click(function(){x=$("form").serializeArray();$.each(x, function(i, field){$("#results").append(field.name + ":" + field.value + " ");});
});

亲自试一试

定义和用法

serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。

您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身。

语法

$(selector).serializeArray()

详细说明

serializeArray() 方法序列化表单元素(类似 .serialize() 方法),返回 JSON 数据结构数据。

注意:此方法返回的是 JSON 对象而非 JSON 字符串。需要使用插件或者第三方库进行字符串化操作。

返回的 JSON 对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对 —— name 参数和 value 参数(如果 value 不为空的话)。举例来说:

[ {name: 'firstname', value: 'Hello'}, {name: 'lastname', value: 'World'},{name: 'alias'}, // 值为空
]

.serializeArray() 方法使用了 W3C 关于 successful controls(有效控件) 的标准来检测哪些元素应当包括在内。特别说明,元素不能被禁用(禁用的元素不会被包括在内),并且元素应当有含有 name 属性。提交按钮的值也不会被序列化。文件选择元素的数据也不会被序列化。

该方法可以对已选择单独表单元素的对象进行操作,比如 <input>, <textarea>, 和 <select>。不过,更方便的方法是,直接选择 <form> 标签自身来进行序列化操作。

$("form").submit(function() {console.log($(this).serializeArray());return false;
});

上面的代码产生下面的数据结构(假设浏览器支持 console.log):

[{name: avalue: 1},{name: bvalue: 2},{name: cvalue: 3},{name: dvalue: 4},{name: evalue: 5}
]

示例

取得表单内容并插入到网页中:

HTML 代码:

<p id="results"><b>Results:</b> </p>
<form><select name="single"><option>Single</option><option>Single2</option></select><select name="multiple" multiple="multiple"><option selected="selected">Multiple</option><option>Multiple2</option><option selected="selected">Multiple3</option></select><br/><input type="checkbox" name="check" value="check1"/> check1<input type="checkbox" name="check" value="check2" checked="checked"/> check2<input type="radio" name="radio" value="radio1" checked="checked"/> radio1<input type="radio" name="radio" value="radio2"/> radio2
</form>

jQuery 代码:

var fields = $("select, :radio").serializeArray();
jQuery.each( fields, function(i, field){$("#results").append(field.value + " ");
});
 
serialize()方法说明:

实例

输出序列化表单值的结果:

$("button").click(function(){$("div").text($("form").serialize());
});

亲自试一试

定义和用法

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。

您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。

序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

语法

$(selector).serialize()

详细说明

.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。

表单元素有几种类型:

<form><div><input type="text" name="a" value="1" id="a" /></div><div><input type="text" name="b" value="2" id="b" /></div><div><input type="hidden" name="c" value="3" id="c" /></div><div><textarea name="d" rows="8" cols="40">4</textarea></div><div><select name="e"><option value="5" selected="selected">5</option><option value="6">6</option><option value="7">7</option></select></div><div><input type="checkbox" name="f" value="8" id="f" /></div><div><input type="submit" name="g" value="Submit" id="g" /></div>
</form>

.serialize() 方法可以操作已选取个别表单元素的 jQuery 对象,比如 <input>, <textarea> 以及 <select>。不过,选择 <form> 标签本身进行序列化一般更容易些:

$('form').submit(function() {alert($(this).serialize());return false;
});

输出标准的查询字符串:

a=1&b=2&c=3&d=4&e=5

注释:只会将”成功的控件“序列化为字符串。如果不使用按钮来提交表单,则不对提交按钮的值序列化。如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。

转载于:https://www.cnblogs.com/itjeff/p/4284401.html

jQuery 的 serializeArray()、serialize() 方法相关推荐

  1. jQuery ajax - serializeArray() 序列化方法,让你一分钟获取表单里的所有内容

    一.对 serializeArray() 的理解 1.serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. 2.serializeArray()函 ...

  2. jQuery表单序列化方法serialize(),serializeArray()

      我们使用ajax给后台传递数据的时候,经常要获取表单的数据.表单数据不多还好说,但是如果表单字段非常多,那么无疑是非常头疼的事.如何获取大量的表单数据,是非常重要的事情. 表单页面 <for ...

  3. [JQuery]jQuery中serializeArray方法的使用及对象与字符串的转换

    使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...

  4. jQuery中的serialize()和serializeArray()区别

    serialize()和serializeArray(): 都是将表单元素序列化,但是序列化的格式不一样. serialize(): 将表单内容序列化为字符串. serialize() 方法通过序列化 ...

  5. jquery序列化serialize()方法空格变为+问题解决参考方法

    jquery序列化serialize()方法空格变为+问题解决参考方法 参考文章: (1)jquery序列化serialize()方法空格变为+问题解决参考方法 (2)https://www.cnbl ...

  6. serializeArray()和serialize()方法的用法和区别。

    serializeArray()序列化表单 1.serialize()方法 描述:序列化表单内容为字符串,用于Ajax请求. 格式:var data = $(form).serialize(); 2. ...

  7. serializeArray()和serialize()方法

    serializeArray()序列化表单 1.serialize()方法 描述:序列化表单内容为字符串,用于Ajax请求. 格式:var data = $(form).serialize(); 2. ...

  8. serialize方法

    jquery的ajax里面的serialize方法 作用:将表单中的数据自动拼接成字符串类型的参数 var params = $('#form').serialize(); // name=zhang ...

  9. 12月12日学习内容整理:Ajax中的contentType参数,csrf跨域请求处理,serialize方法...

    一.contentType参数 1.用来标识请求的数据格式 2.默认值: "application/x-www-form-urlencoded"   代表是urlencoded编码 ...

最新文章

  1. Python实现Newton和lagrange插值
  2. python嵌套列表字典_python中嵌套列表转为字典
  3. 行业大牛都是同时掌握游戏建模和游戏原画的吗?
  4. 如何安装dubbo的管理控制台
  5. [其他] 10种技巧可提升Android应用运行效果
  6. 怎样得到对方的电脑名_吸引力法则让他想念你,让对方主动找你
  7. 图书管理数据库系统设计
  8. java 首次适应算法_首次适应算法java代码
  9. java实现word转pdf(功能转载)(亲测验证)
  10. 球相交的表面积并/体积并
  11. AM5728调试经历
  12. 快来新宇宙:物联网与元宇宙融合发展
  13. 请输入星期几的第一个字母来判断一下是星期几
  14. PDF文件如何添加签名
  15. 1197: 考试排名(一)(结构体专题)
  16. 奥利给!!字体/颜色对话框这么豪横的解释,赶紧PICK一下吧!!
  17. android显示屏线接口定义,常见TFT液晶显示器的接口定义
  18. mysql查询_MySQL常用查询
  19. 发现了问题解决不了--转:【win XP SP3 不能安装HD声卡驱动的解决办法】
  20. FFMpeg使用vs出现声明被否决解决方案

热门文章

  1. linux zip指定目录解压,Linux zip解压/压缩并指定目录
  2. bootstrap 标题居中加颜色_BootStrap从基础到项目实战_第1季_03章_01_CSS样式之栅格布局...
  3. FPGA之道(79)静态时序分析(五)外部接口的相关时序分析
  4. FPGA 控制 FLASH 之 Startup 原语使用相关链接
  5. 变量/值类型/引用类型/常量/枚举
  6. iOS开发UIlabel篇:iOS 10 3 Label设置的中划线突然失效了
  7. 上班第一天(1)--一个程序员的成长史(10)
  8. SQL Server 事务、异常和游标
  9. 获得H.264视频分辨率的方法
  10. Mysql修复损坏表并写脚本自动修复