表单序列化

1.serialize()方法html

  格式:var data = $("form").serialize();ajax

  功能:将表单内容序列化成一个字符串。json

  这样在ajax提交表单数据时,就不用一一列举出每个参数。只需将data参数设置为 $("form").serialize() 便可。数组

 

与JQuery中其余方法同样,serialize()方法也是做用于一个JQuery对象,它可以将DOM元素内容序列化为字符串,用于ajax请求。经过使用serialize()方法,能够提交本页面的全部域,代码以下:
$("#send").click(function(){
$.get("get1.jsp", $("#form1").serialize(), function(data, textStatus)
$("#resText").html(data);
});
});
当单击“提交”按钮后,全部属于form1的表单元素都能提交到后台,即便在表单中再增长字段,脚本仍然可以使用,而且不须要作其余多余工做。jsp

用字符串方式时,须要注意对字符编码(中文问题),若是不但愿编码带来麻烦,可使用serialize()方法,它会自动编
ui

由于serialize()方法做用于JQuery对象,因此不光只有表单能使用它,其余选择器选取的元素也都能使用它,如如下JQuery代码:编码

$(":checkbox,:radio").serialize();orm

把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化。htm

在JQuery中还有一个与serialize()相似的方法--serializeArray(),该方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据。JQuery代码以下:对象

var fields = $(":checkbox,:radio").serializeArray();

console.log(fields); //用Firebug输出

$.param()方法是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。

好比将一个普通的对象序列化:

var obj = {a:1,b:2,c:3};

var k = $.param(obj);

alert(k); //输出a=1&b=2&c=3


2.serializeArray()方法

  格式:var jsonData = $("form").serializeArray();

  功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。

  好比,[{"name":"lihui", "age":"20"},{...}] 获取数据为 jsonData[0].name

相关文章
相关标签/搜索