jQuery 的 serializeArray()、serialize() 方法
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() 方法相关推荐
- jQuery ajax - serializeArray() 序列化方法,让你一分钟获取表单里的所有内容
一.对 serializeArray() 的理解 1.serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. 2.serializeArray()函 ...
- jQuery表单序列化方法serialize(),serializeArray()
我们使用ajax给后台传递数据的时候,经常要获取表单的数据.表单数据不多还好说,但是如果表单字段非常多,那么无疑是非常头疼的事.如何获取大量的表单数据,是非常重要的事情. 表单页面 <for ...
- [JQuery]jQuery中serializeArray方法的使用及对象与字符串的转换
使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...
- jQuery中的serialize()和serializeArray()区别
serialize()和serializeArray(): 都是将表单元素序列化,但是序列化的格式不一样. serialize(): 将表单内容序列化为字符串. serialize() 方法通过序列化 ...
- jquery序列化serialize()方法空格变为+问题解决参考方法
jquery序列化serialize()方法空格变为+问题解决参考方法 参考文章: (1)jquery序列化serialize()方法空格变为+问题解决参考方法 (2)https://www.cnbl ...
- serializeArray()和serialize()方法的用法和区别。
serializeArray()序列化表单 1.serialize()方法 描述:序列化表单内容为字符串,用于Ajax请求. 格式:var data = $(form).serialize(); 2. ...
- serializeArray()和serialize()方法
serializeArray()序列化表单 1.serialize()方法 描述:序列化表单内容为字符串,用于Ajax请求. 格式:var data = $(form).serialize(); 2. ...
- serialize方法
jquery的ajax里面的serialize方法 作用:将表单中的数据自动拼接成字符串类型的参数 var params = $('#form').serialize(); // name=zhang ...
- 12月12日学习内容整理:Ajax中的contentType参数,csrf跨域请求处理,serialize方法...
一.contentType参数 1.用来标识请求的数据格式 2.默认值: "application/x-www-form-urlencoded" 代表是urlencoded编码 ...
最新文章
- Python实现Newton和lagrange插值
- python嵌套列表字典_python中嵌套列表转为字典
- 行业大牛都是同时掌握游戏建模和游戏原画的吗?
- 如何安装dubbo的管理控制台
- [其他] 10种技巧可提升Android应用运行效果
- 怎样得到对方的电脑名_吸引力法则让他想念你,让对方主动找你
- 图书管理数据库系统设计
- java 首次适应算法_首次适应算法java代码
- java实现word转pdf(功能转载)(亲测验证)
- 球相交的表面积并/体积并
- AM5728调试经历
- 快来新宇宙:物联网与元宇宙融合发展
- 请输入星期几的第一个字母来判断一下是星期几
- PDF文件如何添加签名
- 1197: 考试排名(一)(结构体专题)
- 奥利给!!字体/颜色对话框这么豪横的解释,赶紧PICK一下吧!!
- android显示屏线接口定义,常见TFT液晶显示器的接口定义
- mysql查询_MySQL常用查询
- 发现了问题解决不了--转:【win XP SP3 不能安装HD声卡驱动的解决办法】
- FFMpeg使用vs出现声明被否决解决方案
热门文章
- linux zip指定目录解压,Linux zip解压/压缩并指定目录
- bootstrap 标题居中加颜色_BootStrap从基础到项目实战_第1季_03章_01_CSS样式之栅格布局...
- FPGA之道(79)静态时序分析(五)外部接口的相关时序分析
- FPGA 控制 FLASH 之 Startup 原语使用相关链接
- 变量/值类型/引用类型/常量/枚举
- iOS开发UIlabel篇:iOS 10 3 Label设置的中划线突然失效了
- 上班第一天(1)--一个程序员的成长史(10)
- SQL Server 事务、异常和游标
- 获得H.264视频分辨率的方法
- Mysql修复损坏表并写脚本自动修复