checkbox dans une boucle

Nouveau WRInaute
Voiçi mon prob :

j'utilise une boucle pour afficher une liste avec des case à cocher :

while($toto= $db->fetch_array($query)) {

<input type="checkbox" name="supprimer[]" value="<?=$toto['ID'];?>">

}

et pour verifier si les case sont coché opur la supression j'utilise ce javascript:

<script language="javascript">
function check()
{

var supprimer = document.form.elements["supprimer[]"];
var nbrCasesCochees = 0;

for (i = 0; i < supprimer.length; i++)
{
if (supprimer.checked)
{
nbrCasesCochees++;
}
}
if (nbrCasesCochees < 1)
{
alert("Vous devez sélectionner au moins un user!\n" );

return false;
}
}
</script>
-------
Tout se passe bien sauf que quand il y a un seul user c'est à dire kd le resultat de la boucle while affiche un utilisateur , cette fonction javascript le considere comme '0' c'est à dire tu peux supprimer mais quad il il reste un tu peux pas !! je comprends rien :(

et Merci d'avance pour l'aide


PS: dans un formulaire statique ca marche !! :(:(:(:(
 
WRInaute accro
Voici la mienne qui fonctionne (j'ai longtemps hésité avant de te la filer car j'y avais passé beaucoup de temps à l'époque). Peut-être que tu y trouvera des améliorations à faire et que tu m'en fera part :



function controle_form_sup(obj){

var c=0;

for(var i=0; i<obj.elements.length; i++)
{
if(obj.elements.name=="etat[]") c++;
}

var elts=obj.elements['etat[]'];
var compteur=0;

if(c==1)
{

if(elts.checked==true) compteur++;

}
else{
for(var i=0; i<c; i++)
{

if(elts.checked==true) compteur++;

}

}

if(compteur==0){
alert("Veuillez choisir au moins 1 élément à supprimer en cochant la case correspondante, svp");
return false;
}
else{
if(confirm("Voulez-vous supprimer les éléments sélectionnés ?")) return true;
else return false;
}

}

<form name="form_sup" action="page.php" method="post" onsubmit="return controle_form_sup(this);">
<input type="checkbox" name="etat[]" value="'.$valeur0.'"/>
<input type="checkbox" name="etat[]" value="'.$valeur1.'"/>
<input type="checkbox" name="etat[]" value="'.$valeur2.'"/>
<input type="checkbox" name="etat[]" value="'.$valeur3.'"/>
<input type="checkbox" name="etat[]" value="'.$valeur4.'"/>
etc...

<input type="submit" name="bouton_sup" value="Supprimer les éléments sélectionnés"/>
</form>
 
Nouveau WRInaute
merci beaucoups !! ca marche !! je comprends le temps que tu as mis à trouver, mais moi aussi c'est qu'apres avoir été bloqué pendant un bon bout de temps que j'ai posté!

De toute facon je vai voire ou ca cloche ds la fonction precendente !!

et merci encore :):):)
 
WRInaute accro
Par contre, en regardant ta fonction de plus près, ça me donne des idées pour optimiser la mienne donc je te retourne le merci...

Je regarde ça de plus près dès que j'ai une petite heure qui traine (donc pas tout de suite) et je la reposterais ici (si j'y repense)
 
Nouveau WRInaute
Moi je vous remercie.
Je viens d'utiliser cette fonction qui est génial et m'a fait gagner du temps même si avant d'arriver sur ce post j'ai galéré.

Fabien[/img]
 
Discussions similaires
Haut