Convertir les données d'un formulaire en objet JavaScript avec Jquery

La librairie JQuery fournit différentes méthodes pour faciliter le développement des scripts. Il est possible de convertir les données d'un formulaire en tableau.

La fonction serializeArray() permet de transformer les données d'un formulaire dans un tableau simple avec pour chaque champ un nom et une valeur. Les champs désactivés avec la propriété disabled ne sont pas pris en compte. Si un champ a plusieurs valeurs, comme pour des cases à cocher, il y aura plusieurs entrées dans le tableau avec le même nom. Pour transformer ce tableau en objet, il faut donc le parcourir. C'est possible avec la fonction jQuery each(). Dans la fonction qui va parcourir le tableau, on va tester si le nom du champ n'existe pas déjà. Si c'est le cas, on va créer un attribut avec le nom du champ et indiquer la valeur. Si le champ existe, alors on va regarder si l'attribut est un tableau ou une chaîne de caractères. Si c'est une chaîne, alors on va transformer cet attribut en tableau et ajouter la valeur supplémentaire. Si c'est déjà un tableau, il faut ajouter la valeur supplémentaire à la suite des précédentes.

$.fn.serializeObject = function()
{
 var objet = {};
 var formulaire = this.serializeArray();
 //On parcourt les données du tableau
 $.each(formulaire, function() {
 //On cherche à savoir s'il existe déjà un attribut pour ce champ
 if (objet[this.name] !== undefined) {
 //On effectue ce test pour savoir si l'attribut est déjà un tableau ou non. Si ce n'est pas le cas, on le transforme en tableau
 if (!objet[this.name].push) {
 objet[this.name] = [objet[this.name]];
 }
 objet[this.name].push(this.value

Autour du même sujet

JQuery

Annonces Google