Pasar a Objeto un Form con Javascript

Si recuperamos un form con .serializedArray() y queremos transformarlo en un Objeto podemos usar la siguiente función:

function objectifyForm(serializedForm) {
  var oForm = {};
  for (var i = 0; i < serializedForm.length; i++){
    oForm[serializedForm[i]['name']] = serializedForm[i]['value'];
  }
  return oForm;
}

La llamaríamos:

var formSerialized = $('#formId').serializeArray();
var oForm = objectifyForm(formSerialized);

En oForm ya tendríamos el "form" en un objeto 🙂

O directamente podemos saltarnos el ".serializedArray()" con la siguiente función:

function formToObject(element){
    var serializedForm = element.serializeArray();
    var oForm = {};
    for (var i = 0; i < serializedForm.length; i++){
      oForm[serializedForm[i]['name']] = serializedForm[i]['value'];
    }
    return oForm;
}

Llamándolo de la siguiente manera:

var oForm = formToObject($('#formId'));

Ejemplo.
Con un form tipo:

Nuestro JS podría ser algo:

$(function(){
	$('#testForm').submit(function(e){
		e.preventDefault();
		var oForm = formToObject($('#testForm'));
		console.log(oForm);
	})
});

Con lo que la variable "oForm" sería (con datos rellenos...):

{nombre: "Kike", apellidos: "Beltrán"}

Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*