jquery.serialize() 函数语法及简单实例


Posted in Javascript onJuly 08, 2016

jQuery - serialize() 方法

W3School给出的定义与用法:

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

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

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

语法

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

------------------------- 分割线 ----------------------

serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交的字符串。

serialize()函数常用于将表单内容序列化,以便用于AJAX提交。

该函数主要根据用于提交的有效表单控件的name和value,将它们拼接为一个可直接用于表单提交的文本字符串,该字符串已经过标准的URL编码处理(字符集编码为UTF-8)。

该函数不会序列化不需要提交的表单控件,这和常规的表单提交行为是一致的。例如:不在<form>标签内的表单控件不会被提交、没有name属性的表单控件不会被提交、带有disabled属性的表单控件不会被提交、没有被选中的表单控件不会被提交。

与常规表单提交不一样的是:常规表单一般会提交带有name的按钮控件,而serialize()函数不会序列化带有name的按钮控件。
 

返回值

serialize()函数的返回值为String类型,返回将表单元素编码后的可用于表单提交的文本字符串。

示例&说明

请参考下面这段初始HTML代码:

<form name="myForm" action="http://www.365mini.com" method="post">
  <input name="uid" type="hidden" value="1" />
  <input name="username" type="text" value="张三" />
  <input name="password" type="text" value="123456" />
  <select name="grade" id="grade">
    <option value="1">一年级</option>
    <option value="2">二年级</option>
    <option value="3" selected="selected">三年级</option>
    <option value="4">四年级</option>
    <option value="5">五年级</option>
    <option value="6">六年级</option>
  </select>
  <input name="sex" type="radio" checked="checked" value="1" />男
  <input name="sex" type="radio" value="0" />女
  <input name="hobby" type="checkbox" checked="checked" value="1" />游泳
  <input name="hobby" type="checkbox" checked="checked" value="2" />跑步
  <input name="hobby" type="checkbox" value="3" />羽毛球
  <input name="btn" id="btn" type="button" value="点击" />
</form>

对<form>元素进行序列化可以直接序列化其内部的所有表单元素。

// 序列化<form>内的所有表单元素
// 序列化后的结果:uid=1&username=%E5%BC%A0%E4%B8%89&password=123456&grade=3&sex=1&hobby=1&hobby=2
alert( $("form").serialize() );

我们也可以直接对部分表单元素进行序列化。

// 序列化所有的text、select、checkbox表单元素
// 序列化后的结果:username=%E5%BC%A0%E4%B8%89&password=123456&grade=3&hobby=1&hobby=2
alert( $(":text, select, :checkbox").serialize() );

serialize()函数通常用于将表单内容序列化,以便通过AJAX方式提交。

$("#btn").click( function(){

  // 将当前表单内容以POST请求的AJAX方式提交到"http://www.365mini.com"
  $.post( "http://www.365mini.com", $("form").serialize(), function( data, textStatus, jqXHR ){
    alert( "AJAX提交成功!" );    
  } );
    
} );

以上这篇jquery.serialize() 函数语法及简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript框架设计读书笔记之种子模块
Dec 02 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
javascript实时显示当天日期的方法
May 20 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
微信小程序中实现手指缩放图片的示例代码
Mar 13 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
vue ssr服务端渲染(小白解惑)
Nov 10 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
Mar 17 Javascript
JSONP解决JS跨域问题的实现
May 25 Javascript
jQuery实现简单QQ聊天框
Aug 27 jQuery
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 #Javascript
Augularjs-起步详解
Jul 08 #Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
Jul 08 #Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 #Javascript
Angularjs---项目搭建图文教程
Jul 08 #Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 #Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 #Javascript
You might like
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
python网络编程之读取网站根目录实例
2014/09/30 Python
Python的面向对象思想分析
2015/01/14 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python实现移位加密和解密
2019/03/22 Python
python简单实现AES加密和解密
2019/03/28 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
10款最好的Python开发编辑器
2019/07/03 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
道路建设实施方案
2014/03/18 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
语文课外活动总结
2014/08/27 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
Go语言grpc和protobuf
2022/04/13 Golang
利用Java连接Hadoop进行编程
2022/06/28 Java/Android