Plugin jQuery para recopilar datos de un formulario

El siguiente plugin recupera los datos de un formulario y retorna la información en formato json.

$.fn.serializeObject = function(){
  $.fn.serializeObject = function(){ var json = {}; 
  var a = this.serializeArray(); //Obtenemos los checkbox 
  var jsonMulti = {};   //Almacena los checkboxs ya que estos elementos son de multiple opción 
  var checks = $(":checkbox").serializeArray(); //Se agregan los checkboxs al array 
  $.each(checks, function() { 
   jsonMulti[this.name] = [json[this.name]]; }); //Armamos el array final 
   $.each(a, function() {     
    if (jsonMulti[this.name] !== undefined) {     
      if (json[this.name] !== undefined) {     
        json[this.name].push(this.value || '');     
      }
      else{     //Se define como Array para poder soportar la seleccion multiple de los elementos checkbox     
         json[this.name] = [this.value];     
      }     
    }     
    else {     //Todos aquellos que no son checkbox tienen un formato distinto         
      json[this.name] = this.value || '';     
    } 
  }); 
 return json;
};

 

Ejemplo de uso:

$(".claseDeFormulario").serializeObject();
Advertisements