checkbox dans une boucle
5 messages
• Page 1 sur 1
- coppola
- Nouveau WRInaute

- Messages: 26
- Inscription: 19 Avr 2005
checkbox dans une boucle
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 !!
:(:(:(
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

- Messages: 3073
- Inscription: 5 Sep 2003
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>
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: 19 Avr 2005
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
:):)
De toute facon je vai voire ou ca cloche ds la fonction precendente !!
et merci encore
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
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)
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)
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Ajax et checkbox
- suppression d entrées via checkbox
- valeur (php) et checkbox
- formulaire php checkbox
- Problème avec un tableau de checkbox
- Retenir statut checkbox cohées ou non !!
- UPDATE champ checkbox coché ou non
- Résolu - PHP - Checkbox à récupérer
- Style input type=checkbox ?
- selectionner ou deselc. seulement un groupe de checkbox
- MSN HRS : des éditeurs de MSN évaluent la qualité des sites web - 02-12-2005
- Suivre le Tour de France 2008 avec Google Street View - 03-07-2008
- Google se lance dans la recherche de blogs - 14-09-2005
- Google API : guide de développement de l'API Google - 20-09-2002
- La syndication de contenu : afficher un flux RSS sur son site - 28-06-2004
- Tour de France 2010 : parcours dans Google Earth/Maps : itinéraire, carte 3D, villes étapes - 06-07-2010
Qui est en ligne
Utilisateurs parcourant ce forum: salva et 0 invités
