par
Cyrano » 31 mai 2005, 11:08
Ok, je vois, alors il faudrait ajouter un élément identifiant le formulaire en plus de la case à cocher: Utiliser l'id de l'article par exemple préfixé par "form" et tu l'envoies en paramètre de la fonction. Exemple: Ton article a pour id AX123, ton formulaire doit être j'imagine construit dynamiquement, donc tu fais:
<form id="form_<?php echo($rox['id']); ?>" action="...etc..
Et dans ton élément onchange, tu envoies le paramètre
onchange=envoi(form_<?php echo($rox['id']); ?>)
modifie la fonction comme ceci maintenant:
function envoi(nom_form)
{
var a = new Array();
var f = new Array();
var j = 0;
var nb_elts = document.forms.length;
for (i=0; i<= nb_elts; i++)
{
if (document.forms[nom_form].elements[i].checked=true)
{
a[j] = document.forms.elements[i].value;
f[j] = nom_form;
j++;
}
}
}
Comme ça, tu as deux tableaux parallèles avec le nom du formulaire et l'élément coché. On doit aussi pouvoir simplifier avec un tableau à deux dimensions, je sais pas trop en JavaScript.
Ok, je vois, alors il faudrait ajouter un élément identifiant le formulaire en plus de la case à cocher: Utiliser l'id de l'article par exemple préfixé par "form" et tu l'envoies en paramètre de la fonction. Exemple: Ton article a pour id AX123, ton formulaire doit être j'imagine construit dynamiquement, donc tu fais:
[php]<form id="form_<?php echo($rox['id']); ?>" action="...etc..[/php]
Et dans ton élément onchange, tu envoies le paramètre
[php]onchange=envoi(form_<?php echo($rox['id']); ?>)[/php]
modifie la fonction comme ceci maintenant:
[php]function envoi(nom_form)
{
var a = new Array();
var f = new Array();
var j = 0;
var nb_elts = document.forms.length;
for (i=0; i<= nb_elts; i++)
{
if (document.forms[nom_form].elements[i].checked=true)
{
a[j] = document.forms.elements[i].value;
f[j] = nom_form;
j++;
}
}
}[/php]
Comme ça, tu as deux tableaux parallèles avec le nom du formulaire et l'élément coché. On doit aussi pouvoir simplifier avec un tableau à deux dimensions, je sais pas trop en JavaScript.