checkbox dans une boucle
5 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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 !!
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>
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
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
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 :
- valeur (php) et checkbox
- formulaire php 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 ?
- [résolu]probleme de recuperation des checkbox
- checkbox cochées dans une session?
- Checkbox et modification de plusieurs id en meme temps
- Récupération checkbox PHP message erreur !!! Notice....
- javascript checkbox (toutes les checker) bug
- envoi de mail avec contenu des checkbox cochées
- [AJAX+PHP] Récupérer une liste de checkbox en tableau
- boucle while
- Itérations boucle FOR
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum