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

posted @ 2017-05-22 17:40  弗兰克中校  阅读(134)  评论(0编辑  收藏  举报