jquery serialize介绍

杨雪松
2023-12-01

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改为其他非冲突字符串即可










 类似资料: