checkbox dans une boucle

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

coppola
Nouveau WRInaute
 
Messages: 26
Inscription: Mar Avr 19, 2005 10:49

checkbox dans une boucle

Message le Ven Jan 27, 2006 14:38

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[i].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 !! :(:(:(:(


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Ven Jan 27, 2006 14:54

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[i].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[i].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>

coppola
Nouveau WRInaute
 
Messages: 26
Inscription: Mar Avr 19, 2005 10:49

Message le Ven Jan 27, 2006 15:10

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 :):):)


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Ven Jan 27, 2006 15:20

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)

Jeaf16
Nouveau WRInaute
 
Messages: 32
Inscription: Ven Juil 16, 2004 22:07

Message le Lun Fév 27, 2006 22:31

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]


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités