Colorier cellule au clic

Résolu
Adrix08 Messages postés 126 Statut Membre -  
Adrix08 Messages postés 126 Statut Membre -
Bonjour,

tout d'abord voici la ligne de code qui je pens vous interessera le plus :

printf("<tdonclick=\"this.style.background='blue'\">   </td>\n",$id,$id); //

donc la les case se colorie bien mais j'aimerai que quand je reclic sur la case colorier elle redevienne de la couleur initial...si quelqu'un pouvai me venir en aide ! merci
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. macgawel Messages postés 676 Statut Membre 89
     
    Bonjour.

    Il faudrait faire une fonction Javascript :
    SwitcherCouleur(id) {
       if (document.getElementById(id).style.background == 'blue') {
          document.getElementById(id).style.background = 'white';
       }
       else {
           document.getElementById(id).style.background = 'blue';
       }
    }


    Et dans ton code php, tu appelles la fonction JS :
    printf("<td id='ligne'".$id." onclick=\"javascript:SwitcherCouleur('ligne".$id."')'\">   ­;</td>\n",$id,$id;)


    (A voir pour la façon dont tu identifies ton TD, j'ai mis $id comme ça ;-) )
    0
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      sa me donne une erreur ou nivo du { sur cette ligne SwitcherCouleur(id) {
      0
      1. macgawel Messages postés 676 Statut Membre 89 > Adrix08 Messages postés 126 Statut Membre
         
        sa me donne une erreur
        Quelle erreur ?

        Il faut bien sûr mettre ta fonction JS dans un bloc script.

        Et bien l'écrire : je t'ai juste donné la trame, à toi de bien faire les choses :-P
        Dans ton header :
        <script type="text/javascript">
        function SwitcherCouleur(id) {
        ...
        }
        </script>
        0
      2. Adrix08 Messages postés 126 Statut Membre 1 > macgawel Messages postés 676 Statut Membre
         
        c ce ke g fai apres avoir reflechi ^^ le probleme la c ke g bo cliker sur les case sa les colorie plu du tout
        0
      3. macgawel Messages postés 676 Statut Membre 89 > Adrix08 Messages postés 126 Statut Membre
         
        RAPPEL IMPORTANT

        Je suis allé un peu vite en besogne, mais c'était pour te montrer l'idée...

        Javascript :
        <script type="text/javascript">
        function SwitcherCouleur(id) {
        // La propriété background ne contient pas que la couleur.
        // On regarde si on trouve la chaîne 'blue' dans le style.background avec indexOf >= 0
        // Si on le trouve, c'est qu'on est en bleu; sinon c'est qu'on est en blanc...
           if (document.getElementById(id).style.background.indexOf('blue', 0) >= 0) {
              document.getElementById(id).style.background = 'white';
           }
           else {
               document.getElementById(id).style.background = 'blue';
           }
        }
        </script>


        Code php (il y avait des problèmes de quotes/apostrophes)
        printf("<td border='1' id='ligne".$id."' onclick=\"javascript:SwitcherCouleur('ligne".$id."')\">  aaa ­;</td>\n".$id.$id);


        Je te conseille d'utiliser Firefox et son extension Web Developer pour débugger : très efficace !
        Et aussi, utilise un éditeur de texte à cooration syntaxique (Notepad++, par exemple). Ca aide à voir les erreurs de quotes.
        0
      4. Adrix08 Messages postés 126 Statut Membre 1 > macgawel Messages postés 676 Statut Membre
         
        merci bcp macgawel sa marche impec :)
        0