.serializeArray();返回一个Array
描述: 将用作提交的表单元素的值编译成拥有name和value对象组成的数组。例如[ { name: a value: 1 }, { name: b value: 2 },...],这个方法不接受任何参数。
.serializeArray()
方法创建一个对象组成的javascript数组,用来编码成一个JSON一样的字符串。 它可以对一个代表一组表单元素的 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>
.serializeArray()
方法使用标准的W3C"successful controls"的标准来检测哪些元素应当包括在内。被禁用的元素不会被包括在内。并且,元素必须含有 name
属性。此外,提交按钮的值也不会被序列化。文件选择元素的数据也不会被序列化。
.serializeArray()
方法可以对单独选择的表单元素对象进行操作, 比如 <input>
, <textarea>
, 和 <select>
。还有个更方便的方法是,直接使用 <form>
标签来进行序列化操作:
$('form').submit(function() { console.log($(this).serializeArray()); return false; });
这将产生以下数据结构(浏览器提供的console.log
):
[ { name: "a", value: "1" }, { name: "b", value: "2" }, { name: "c", value: "3" }, { name: "d", value: "4" }, { name: "e", value: "5" } ]
例子:
从表单获取值,遍历并且显示他们
<html> <head> <style> body, select { font-size:14px; } form { margin:5px; } p { color:red; margin:5px; } b { color:blue; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <p><b>Results:</b> <span id="results"></span></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" id="ch1"/> <label for="ch1">check1</label> <input type="checkbox" name="check" value="check2" checked="checked" id="ch2"/> <label for="ch2">check2</label> <input type="radio" name="radio" value="radio1" checked="checked" id="r1"/> <label for="r1">radio1</label> <input type="radio" name="radio" value="radio2" id="r2"/> <label for="r2">radio2</label> </form> <script> function showValues() { var fields = $(":input").serializeArray(); $("#results").empty(); jQuery.each(fields, function(i, field){ $("#results").append(field.value + " "); }); } $(":checkbox, :radio").click(showValues); $("select").change(showValues); showValues(); </script> </body> </html>
Demo:
相关推荐
《jQuery获取表单数据...通过这个合集,你可以学习到如何利用jQuery高效地处理表单数据,无论是获取还是提交,都能更加得心应手。结合实际的赚钱项目,掌握这些技能,能让你在前端开发中更加游刃有余,提升工作效率。
而`jquery-1.9.0.js`则保留了原始的源码格式,包括完整的注释和可读性,方便开发者进行调试和学习。 jQuery 1.9.0版本是一个重要的里程碑,它对早期版本的一些过时API进行了清理,以保持库的现代性和兼容性。这一...
**jQuery.js 和 jQuery.form.js 插件详解** 在Web开发中,jQuery库是JavaScript的一个强大框架,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。标题提到的"jquery.js"指的是jQuery的核心库,而...
除了`ajaxSubmit`,jQuery Form Plugin还提供了`ajaxForm`、`serializeArray`、`serialize`等方法,这些方法同样增强了对表单的处理能力。`ajaxForm`是用于自动绑定表单的提交事件,`serializeArray`和`serialize`...
6. **表单数据序列化**:如果上传时需要提交其他表单数据,jQuery提供了`serializeArray()`方法,可以将表单元素转换为JSON格式,方便与服务器进行通信。 7. **前端验证**:在文件上传前,可以通过JavaScript进行...
通过`<script>`标签导入jQuery库,并使用`$(document).ready()`函数确保在页面加载完毕后执行代码。在这个案例中,可能涉及到的选择题操作包括:选中选项时的视觉反馈,以及可能的验证逻辑,如检查是否至少选择了一...
2. **jQuery serializeArray()** `serializeArray()`是`serialize()`的一个变体,它返回一个JavaScript数组,每个数组元素都是一个对象,包含了表单字段的name和value属性。这样可以更方便地处理和操作数据,比如...
`serialize()`和`serializeArray()`是jQuery提供的一对非常实用的工具方法,主要用于处理表单数据。这两个方法在网页开发中尤其关键,因为它们能够方便地将用户在表单中输入的数据转化为适合发送到服务器的格式。 `...
《jQuery表单验证框架——深入理解jQuery.validate》 在网页开发中,表单验证是必不可少的一环,它能确保用户输入的数据符合预期,减少服务器端的处理负担,提高用户体验。jQuery是一个广泛使用的JavaScript库,而...
jQuery 提供了简单的 `$.ajax()` 函数来实现这一功能: ```javascript $.ajax({ url: "data.json", type: "GET", dataType: "json", success: function(data) { console.log(data); }, error: function...
.ajaxStop()——请求结束时.ajaxSuccess()——请求成功时.load()——从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()——使用HTTP POST请求加载服务端数据.serialize()——将form元素集编码成一个...
.ajaxStop()——请求结束时.ajaxSuccess()——请求成功时.load()——从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()——使用HTTP POST请求加载服务端数据.serialize()——将form元素集编码成一个...
jQuery UI 是一个基于 jQuery JavaScript 库的用户界面插件集合,它提供了丰富的交互效果、可定制的主题以及多种用户界面组件。在开发 web 应用时,jQuery UI 插件的 API 可以帮助我们轻松实现诸如拖放、日期选择器...
**jQuery教程 15天学会jQuery(完整版)** jQuery是一款高效、易用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。本教程的目标是在15天内帮助初学者全面掌握jQuery的核心概念和...
### jQuery操作函数详解 #### 一、jQuery Ajax 操作函数 **1.1 jQuery.ajax()** - **描述**: 使用此方法可以执行一个异步HTTP (Ajax) 请求。 - **示例代码**: ```javascript $.ajax({ url: "test.php", type:...
7. **私有函数**:辅助主函数执行任务的函数,不对外暴露。 ### 二、创建jQuery插件的步骤 1. **定义命名空间**: ```javascript (function($){ // 插件代码 })(jQuery); ``` 这样的封装方式可以确保 `$` 为...
《15天学会jQuery》是一本专为初学者设计的jQuery入门教程,旨在帮助读者在短时间内掌握这个强大的JavaScript库。jQuery是Web开发中广泛使用的工具,它简化了HTML文档遍历、事件处理、动画和Ajax交互等任务,使得...
.serializeArray() 序列化表格元素 (类似 ‘.serialize()’ 方法) 返回 JSON 数据结构数据。(摘自jquery文档)。 有以下一个表单窗口,代码: 代码如下: <form action=”” method=”post” id=”tf”> ”100%...
此外,jQuery的动画函数(如`$.fn.animate()`)可以平滑地控制3D变换的过程,使表单的翻转和旋转更加流畅。 为了实现更好的用户体验,还可以利用jQuery进行表单验证。通过监听`submit`事件,我们可以使用`....
可以使用jQuery的`.ajax()`方法或者`.serializeArray()`配合`.post()`或`.ajax()`发送POST请求。 7. **图片格式检查**:为了确保用户上传的是图片文件,可以在选取文件后进行文件类型的检查,通常检查`file.type`...