您的位置:首页 > Web前端 > JQuery

jquery serialize介绍

2014-04-03 17:04 260 查看
serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。

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

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

例子:

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").text($("form").serialize());
});
});
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Bill" /><br />
Last name: <input type="text" name="LastName" value="Gates" /><br />
</form>

<button>序列化表单值</button>
<div></div>
</body>
</html>


输出:FirstName=Bill&LastName=Gates

用处:把Form表单序列化,传到后台

$(document).ready(function() {
$("#Submit").click(function() {
var a = $("#form").serialize();
$.ajax({
url: "xxx.aspx",
type: "get",
data: a,
success: function(data){
$("#result").html(data);
}
});
});
});


(转)以上jQuery ajax - serialize() 方法基础内容转W3C,下面讲解下用jQuery ajax - serialize() 方法时候出现的几种常见问题 下面分享给大家 
请看下面例子如: 

复制代码代码如下:

<form id="form1"> 

<input name="name1" type="text" value="pipi" /> 

<input name="name2" type="radio" value="1" checked/>boy 

<input name="name2" type="radio" value="0"/>girl 

<textarea name="name3">test</textarea> 

</form> 

使用:$("#form1").serialize(); 
结果:name1=pipi&name2=1&name3=test 
用jQuery ajax - serialize()方法还有个问题 
如果是下面的情况: 

复制代码代码如下:

<form id="form1"> 

<input name="name" type="text" value="pipi" /> 

<input name="blog" type="text" value="blue submarine" /> 

</form> 

使用:$("#form1").serialize(); 
结果:name1=pipi&blog=blue+submarine 
就是如何能让+号变回空格呢? 
最后还有一个问题,如下所示: 

复制代码代码如下:

<form id="form1"> 

<input name="length" type="text" value="pipi" /> 

<input name="blog" type="text" value="blue submarine" /> 

</form> 

使用:$("#form1").serialize(); 
结果:blog=blue+submarine 没法出现length=pipi 
原因是length是js数组的属性关键字,出现冲突了,将name改为其他非冲突字符串即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: