Cocher Checkbox : ça marche sauf que...

Résolu
M000004965 Messages postés 147 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 12 juin 2008 - 28 févr. 2008 à 18:43
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 29 févr. 2008 à 13:19
Bonsoir,

Je sèche total sur une erreur que je ne vois pas :

Voilà c’est simple, je crée un tableau dynamique avec des checkbox.
Un bouton de commande coche toutes les lignes via une fonction JavaScript.

Tant que j’ai au-moins deux checkbox et / ou plus, tout fonctionne parfaitement.

Mais si je n’ai qu’une seule checkbox, ça ne fonctionne plus...

Ci-dessous mon code JavaScript qui me pose problème:

function SelectAllItem()
{
   with (document.lstItem)
   {
      for (u = 0; u < a_analyser.length; u++)
      {
        a_analyser[u].checked = true;
      }
   }
}

/*
   Le code PHP ci-dessous est juste pour vous permettre de recréer la situation
*/

<?

        $NbRow = mysql_num_rows($slq);
        $x=0;
echo '<form method="post" name="lstItem" action="">';

        print "
Liste des&nbsp;&nbsp;&nbsp; ".$NbRow." &nbsp;&nbsp;&nbsp;ITEM(S)

";

        print 'S&eacute;lectionnez manuellement les Items de votre choix, ou cliquez sur&nbsp;&nbsp;&nbsp;';

        echo '';
        echo '----
Cochez, Items(s), Num. ID, ';
        while ($donnees = mysql_fetch_array($slq) )
        {
          $x++;
          echo '----
, '.$donnees['ITEM_NOM'].', '.$donnees['ID_ITEM'].', ';
        }
        print "
";

echo '</form>';
?>

D'avance merci pour votre aide

Autodidact, je ne demande qu'à apprendre... Merci de votre aide

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 févr. 2008 à 10:09
Bonjour,

    a_analyser[u].checked = true;

          s'il n'y en a qu'une.... les navigateurs n'aiment pas.

          ne faire la boucle que si a_analyser.length existe
          sinon traiter a_analyser.checked  ( sans index )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
M000004965 Messages postés 147 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 12 juin 2008
29 févr. 2008 à 12:59
Merci Bultez, c'est good !
j'ai un peu ramé c'est tout bon

function SelectAllUrl()
     {
        if (typeof document.lsturl.a_analyser.length != "undefined")
        {
           // Ma variable existe //
           with (document.lsturl)
           {
             for (u = 0; u < a_analyser.length; u++)
             {
                a_analyser[u].checked = true;
             }
           }
        } else {
           with (document.lsturl)
           {
             a_analyser.checked = true;
           }
        }
     }

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 févr. 2008 à 13:19
>>if (typeof document.lsturl.a_analyser.length != "undefined")
    par exemple...

    ou, tout "simplement" ( rien que pour e¤¤^*%^% le monde  ) :   
         if ( document.lsturl.a_analyser.length )
                  plusieurs
         else   un seul

perso, j'aurais créé un checkbox bidon, pour éviter ce test.  
( je dis ça rien que pour e¤¤^*%^% le monde )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 févr. 2008 à 10:11
ou créer un a_analyser bidon et caché et ne tester qu'à partir de 1....
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
M000004965 Messages postés 147 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 12 juin 2008
29 févr. 2008 à 11:38
Merci mon sauveur

Je test et je fait un retour

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 févr. 2008 à 12:04
sauveur... sauveur....
    il y en eu un autre qu'on appelait ainsi...
    la légende veut que cela se soit mal fini, tôt.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous