Javascript: un submit pour plusieurs forms

baylock Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
baylock Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Pour des raisons un peu longues à expliquer, j'ai besoin de pouvoir valider plusieurs formulaires à l'aide d'un seul bouton submit.
Je ne suis pas à l'aise avec Javascript mais il semble que cela soit ma seule possibilité.
J'ai donc trouvé ce code en ligne qui semble faire ce que je veux:

<SCRIPT LANGUAGE="JavaScript">
/* Collect all forms passed by array and post it */
function submitFormsById(arFormsSubmit)
{
	var formCollector = document.createElement("form");
	with(formCollector)
	{
		method = "post";
		action = "traitement_donnees.php";
		name = "formCollector";
		id = "formCollector";
		style.display = "none";
	}

	for(var ix = 0; ix<arFormsSubmit.length;ix++)
		appendFormVals2Form(document.getElementById(arFormsSubmit[ix]), formCollector);

	document.body.appendChild(formCollector);
	formCollector.submit();
}


/* Function: add all elements from ``frmCollectFrom´´ and append them to ``frmCollector´´ before returning ``frmCollector´´*/
function appendFormVals2Form(frmCollectFrom, frmCollector) 
{
	var frm = frmCollectFrom.elements;
	for(var ix = 0 ; ix < frm.length ; ix++)
		frmCollector.appendChild(frm[ix]);
	return frmCollector;
}

</SCRIPT>

et le bouton:

<INPUT TYPE="submit" value="submit" name="nom" onClick="submitFormsById(Array('form1','form2', etc..))">

Ca fonctionne assez bien si ce n'est que toutes les données ne sont pas envoyées...

Voici un exemple de ce que j'obtiens si j'ai deux forms liées au bouton submit:

section_parent1=11
titre1=
reference1=
fabricant1=3
poids1=
prix1=100.00
prix_paire1=180.00
entree1=30
orientation1=
dimension1=8
ecartement1=
epaisseur1=
hex1=
ups1=

section_parent2=14
titre2=
reference2=
fabricant2=5
poids2=
prix2=100.00
prix_paire2=150.00
entree2=64
orientation2=
dimension2=1
ecartement2=
epaisseur2=
hex2=
ups2=

Comme vous pouvez le constater, les données de toutes les forms sont envoyés mais certaines données ne sont pas récupérées et ce, de manière assez aléatoire (du moins, je n'y trouve pas de logique).

Je sais que ce n'est pas un problème venant de moi car si dans les form, je permute "entree" et "orientation", j'aurai alors les données de "orientation" mais perdrai ceux de "entree".

Probablement un problème dans une des boucles du script mais je n'arrive pas à mettre le doigt dessus.

Quelqu'un saurait-il m'aider?

Merci!

1 réponse

baylock Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Après quelques heure de recherche, je n'ai toujours pas trouvé mais par contre, j'ai trouvé la logique...
Malgré l'affichage qui ne le laisse pas présager, le script ne tient compte que d'un champ sur deux.
Il y a donc un manifestement quelque chose au niveau de la boucle du script que je ne comprend pas.

Merci pour toute votre aide.
0