jquery.serialize
2016-07-07 17:52
387 查看
jQuery - serialize() 方法
serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交的字符串。
serialize()函数常用于将表单内容序列化,以便用于AJAX提交。
该函数主要根据用于提交的有效表单控件的name和value,将它们拼接为一个可直接用于表单提交的文本字符串,该字符串已经过标准的URL编码处理(字符集编码为UTF-8)。
该函数不会序列化不需要提交的表单控件,这和常规的表单提交行为是一致的。例如:不在<form>标签内的表单控件不会被提交、没有name属性的表单控件不会被提交、带有disabled属性的表单控件不会被提交、没有被选中的表单控件不会被提交。
与常规表单提交不一样的是:常规表单一般会提交带有name的按钮控件,而
serialize()函数不会序列化带有name的按钮控件。
返回值:
serialize()函数的返回值为String类型,返回将表单元素编码后的可用于表单提交的文本字符串。
<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遍历DOM的父级元素、子级元素和同级元素的方法总结
- jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
- jquery contents()方法
- jquery版本更新后无live函数的处理.TypeError: $(...).live is not a function
- jQuery ajax - ajax() 方法
- 关于Eclipse项目中加入jquery.js文件报错(missing semicolon)问题
- jQuery MiniUI 前台分页
- jQuery事件绑定
- jquery中attr和prop的区别
- jQuery 1.4版本的15个新功能(现在已经发布到jquery1.8,特别是增强版的live事件,支持 submit , change , focus 和 blur 事件)
- [转]jquery开发自定义的插件总结
- jQuery实现Div控件拖动效果
- 鼠标滑过弹出jquery在线客服
- jquery.serialize() 函数详解
- jquery实现随着鼠标滚动固定导航栏
- Jquery中增加参数与Json转换代码
- Jquery添加元素append及阻止表单提交submit
- 表单验证插件jquery.validate
- select2 选择的内容不能显示问题
- "Uncaught ReferenceError: $ is not defined" jquery的在线导入路径