Partage
  • Partager sur Facebook
  • Partager sur Twitter

onclick sur un select

Sujet résolu
    5 août 2009 à 11:43:48

    re bonjour, je n'arrive toujours pas à résoudre le problème, sur un select j'ai des options et j'ai mis on clic k = "j'affiche mon alert" pour chaque (ligne=option) un script basique, mais j'ai l'impression que ie n'execute rien, est ce que c'est mon navigateur qui déconne ou le script sur le select n est pas pris en charge par le IE
    • Partager sur Facebook
    • Partager sur Twitter
      5 août 2009 à 11:52:30

      Bonjour,

      Peut être parce que on ne clique pas sur un select, on le sélectionne.

      Utiliser plutôt "onchange".
      • Partager sur Facebook
      • Partager sur Twitter
        5 août 2009 à 12:01:27

        je l'ai déja utilisé étrangement c'est pareil.

        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          5 août 2009 à 12:08:52

          onchange sur le select hein... pas sur l'option...
          • Partager sur Facebook
          • Partager sur Twitter
            5 août 2009 à 12:23:14

            tu es fort Golmote , surtout avec this.select ça m'arrange encore bien, maintenant j'étais obligé de sortir mon while avant le select donc il me donne autant de select que de ligne, mais ça fonctionne superbement bien. tu n'as pas une solution d'avoir un seul SELECT.

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              5 août 2009 à 13:53:33

              <code type="php">
              $recup_famille=mysql_query("SELECT  DISTINCT Famille  FROM article where 1");
              while ($row = mysql_fetch_array($recup_famille)) {
              </code>
              <select size="1" name="mat" class="text_small_produit2"  on click="go_famille('<?=$row[0]?>' , '<?=$commande?>');">
              <option class="text_small_produit2"   name="<?=$row[0]?>" <?if($row[0]==$_GET['famille']){echo("selected");}?>  ><?=$row[0]?></option> 
              </select>
              <code type="php">
              }
              </code>
              


              la j'ai plusieur select , et si je le sors dehors il faut que le tableau soit déclaré avant.


              ps: on click je l'ai écrit sur ce forum avec un espace, car il me génére un problème l'ors de l'envois de message, je précise ça n'a rien avoir avec le code.
              • Partager sur Facebook
              • Partager sur Twitter
                5 août 2009 à 14:02:43

                where 1
                

                Mais bien sur :-°
                Bon bref :lol: :
                Peut-être mettre la déclaration du select en dehors de la boucle ?
                Et c'est quoi ces $row[0] ?
                et les <?= ?
                Sinon
                Quelque chose comme ceci :
                <?php
                $recup_famille=mysql_query("SELECT  DISTINCT Famille  FROM article where 1");
                $row = mysql_fetch_array($recup_famille);
                ?>
                <select size="1" name="mat" class="text_small_produit2"  onchange="go_famille('<?php echo $row[0]; ?>' , '<?php echo $commande; ?>');">
                <?php
                while ($row = mysql_fetch_array($recup_famille)) {
                ?>
                <option class="text_small_produit2"   name="<?=$row[0]?>" <?if($row[0]==$_GET['famille']){echo("selected");}?>  ><?=$row[0]?></option> 
                <?php
                }
                ?>
                </select>
                

                J'ai corriger le début (à part la magnifique requête SQL :D) mais le reste m'a l'air bancal
                • Partager sur Facebook
                • Partager sur Twitter
                  5 août 2009 à 14:05:45

                  Horrible tu veux dire! xD
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 août 2009 à 14:15:39

                    je l'ai simplifié pour ne pas donner toute la requette, c'est recommandé sur le site .....donner juste le problème.

                    ce que tu m'as rajouté la le while , il va pas boucler mais il donne la dernière ligne. donc comme si j'ai rien fait.

                    après tu demande c'est quoi les $row[0] ?????

                    et comment tu peu afficher une valeur php dans le html??? si j'utilise pas le <?= $mavar ?>, c'est vrais on me l'a dit plusieurs fois, je ne sais pas si on parle du même langage?

                    Merci

                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 août 2009 à 14:24:34

                      Alors :
                      • Chez moi les <? ne marchent pas, il faut que j'utilise les <?php (peut-être un rapport avec la version de php)
                      • faire un echo dans le html est tout a fait correct, comme le code est compilé, le html sera correct
                      • mysql_fetch_array($variable) sert à récupérer une ligne renvoyée par SQL, si on l'utilise dans une boucle, ça renverra toutes les ligne; ici au début je prend la 1ère ligne pour l'utiliser avec le select et pour les options je fait une boucle ;)

                      Pour que ça soit correct, il faudrait rajouter un <option class="text_small_produit2" name="<?=$row[0]?>" <?if($row[0]==$_GET['famille']){echo("selected");}?> ><?=$row[0]?></option> entre le select et le while

                      Sinon $row[0] correspond à la valeur d'indice 0 dans le tableau $row, mais dans un retour mysql_fetch_array, ça correspond à quoi ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 août 2009 à 14:34:36

                        bon voila

                        1- pour le php j'utilise version 5 mais les <??> ça marche aussi dans la version 4, je ne sais pas si t'utilise autre version que ces deux la, je connais pas en tous cas.
                        2- trop d'echo dans le html rend le code très moche voire illisible, c'est pour ça le <?=?> une affectation meilleure je trouve.

                        3-

                        Citation : louf404


                        Pour que ça soit correct, il faudrait rajouter un <option class="text_small_produit2" name="<?=$row[0]?>" <?if($row[0]==$_GET['famille']){echo("selected");}?> ><?=$row[0]?></option> entre le select et le while


                        je ne comprend pas, ça donne aucun resultat, ça veut dire je met mon select après mes option et après un while ? comment je boucle pour afficher les options?

                        Citation : louf404


                        sinon $row[0] correspond à la valeur d'indice 0 dans le tableau $row, mais dans un retour mysql_fetch_array, ça correspond à quoi ?


                        puisque j'ai mis row= mysql_fetch_array; donc le retour je le recupère dans mon tableau row.

                        mais cela ne m'aide pas à résoudre le problème.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          5 août 2009 à 14:41:43

                          mysql_fetch_array retourne un tableau associatif et numerique.
                          $row[0] sera donc equivalent a $_rox['Famille'] et est tout a fait correct

                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 août 2009 à 16:44:12

                            merci pour votre anticipation,

                            J'ai pu résolu le problème , en faisant juste this.selectedIndex comme paramètre , et j'ai fait le while dans le select.

                            Si vous voulez plus d'information vous me dites.

                            Merci
                            • Partager sur Facebook
                            • Partager sur Twitter

                            onclick sur un select

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown