AJAX + JQUERY => récupération automatique de tous les input d'un form

swakone

Nouveau WRInaute
Bonjour et bonne année à tous !

J'essaie de récupérer automatiquement la liste des inputs / selects d'un formulaire en jquery et de les envoyer en ajax, voici mon code actuel :

Code:
var request_ajax_liste = $.ajax({
		url: 'mon_url.php',
		type: 	"POST",
		data: 	 $('#listeFiltresTop select, #listeFiltresTop input'),
		dataType: "html"
		});

Le code marche très bien, à une exception près : j'ai des select multiple, et il ne récupère qu'une seule valeur.

J'aimerais alors créer moi même le "tableau" data, qui ressemble normalement à ça, s'il est codé en dur :

Code:
var request = $.ajax({
  url: "script.php",
  type: "POST",
  data: {variable1 : 'valeur1', variable2 : 'valeur2', variable3 : 'valeur3' },
  dataType: "html"
});

le seul problème, je ne sais pas comment créer dynamiquement ce type de listes ?
J'ai essayé ainsi :

Code:
var tab_valeurs = new Array();
	
	$('#listeFiltresTop select, #listeFiltresTop input').each(function() {
		tab_valeurs[$(this).attr('name')] = $(this).val();
		});

et ensuite d'envoyer tab_valeurs avec data, mais je ne récupère strictement rien en AJAX, comme si tab_valeurs était vide, et ce n'est pas le cas, je peux le vérifier avec un équivalent de la fonction PHP print_r.

Avez vous une idée ?

merci pour votre aide ;)
 

swakone

Nouveau WRInaute
Je viens de trouver la réponse sur le web, je la poste ici si ça peut servir à quelqu'un.

Il suffit d'utiliser la fonction serialise() de jquery :

var s = $('#recherche').serialize();

var request_ajax_liste = $.ajax({
url: 'mon_url.php',
type: "POST",
data: s,
dataType: "html"
});

bien sur, #recherche est mon formulaire.

Bonne journée !
 

Discussions similaires

Haut