jQuery 表单序列化
jQuery中使用Ajax提交表单的时候,data表示需要提交的表单数据。data:{“id”:”value”}, {“name”:”value2″}或者 data: “id=value&name=value2”,
如果表单元素比较多,则很麻烦,可以使用 jQuery提供了serialize()方法,来将表单序列化,创建 URL 编码文本字符串。
注意:1.只会将”成功的控件“序列化为字符串。如果不使用按钮来提交表单,则不对提交按钮的值序列化。
2.使用serialize(),表单元素必须有name属性。
$.ajax({
type: \’post\’ ,
url: flag==\’add\’?\’UserServlet?method=save\’:\’UserServlet?method=update\’ ,
cache:false ,
data:$(\’#myform\’).serialize() ,
dataType:\’json\’ ,
success:function(result){
}
});
同时提供一个将表单序列化的一个js方法:
//js方法:序列化表单
function serializeForm(form){
var obj = {};
$.each(form.serializeArray(),function(index){
if(obj[this[\’name\’]]){
obj[this[\’name\’]] = obj[this[\’name\’]] + \’,\’+this[\’value\’];
} else {
obj[this[\’name\’]] =this[\’value\’];
}
});
return obj;
}
注意:参数form 是一个jQuery对象