Javascript: un submit pour plusieurs forms
baylock
Messages postés
2
Statut
Membre
-
baylock Messages postés 2 Statut Membre -
baylock Messages postés 2 Statut Membre -
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:
et le bouton:
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!
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!
A voir également:
- Javascript: un submit pour plusieurs forms
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
1 réponse
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.
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.