jQuery ajax - serialize() 方法

潘畅
2023-12-01

jQuery ajax - serialize() 方法


serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,在这,您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身,进行序列号。序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

语法

$(selector).serialize()

实例:


<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
  $('form').submit(function() {
  alert($(this).serialize());
  return false;
});
});
</script>
</head>

<body>

<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>

</body>
</html>

结果:
在不选中 checkbox的前提下,点击提交,则弹出  a=1&b=2&c=3&d=4&e=5,但选中 checkbox后,则弹出 a=1&b=2&c=3&d=4&e=5&f=8,如果把 textarea中的name去除,同时不选中checkbox,则弹出 a=1&b=2&c=3&e=5

注释:只会将”成功的控件“序列化为字符串。如果不使用按钮来提交表单,则不对提交按钮的值序列化。如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。
 类似资料: