Javascript bug ?

Résolu
Bonjour,

j'ai un probleme en javascript
et je ne sais pas pourquoi ca ne fonctionne pas

mon code commence par (entre autre)
<script src="js.js" type="text/javascript"></script>

puis plus tard j'ai
<td background="bar2.png" width="350" onmouseover="transp50(this)" onmouseout="transp100(this)" onclick="affplanete ()"><font align="center" class="rouge"><b>planete</b></font></td>

et a l'intérieur du fichier js.js j'ai :
function transp50(ici) {ici.style.MozOpacity="0.5"; ici.style.filter="alpha(opacity=50)";}
function transp100(ici) {ici.style.MozOpacity="1"; ici.style.filter="alpha(opacity=100)";}

et la, la console d'erreur de firefox me sort :
transp50 et transp100 sont non défini

quelq'un pourai m'eclairer?

pour les source completes tout est disponible ici :
http://to.kc.free.fr/OG/OGBatab.html
http://to.kc.free.fr/OG/calculer.js
http://to.kc.free.fr/OG/apercu.js
http://to.kc.free.fr/OG/js.js
Configuration: Windows XP
Firefox 2.0.0.9

6 réponses

  1. Salut nEm3sis,

    Alors avant de m'attarder sur le problème des fonctions inconnues j'ai regardé les erreurs plus générales et dans ton fichier js.js, les deux dernières fonctions ont une erreur de syntaxe : tu as oublié de placer la confition du if entre parenthèses.

    Essaie déjà de corriger les problèmes qui surviennent avant de déclencher l'appel aux fonctions transp50 et transp100, tu y verras plus clair parce qu'apparemment y'a quelques problèmes de variables indéfinies aussi. ;-)
    1. a zut j'avai pas vu

      j'ai corrigé ca
      par contre les probleme de variable indéfinie ca je compren pas
      quand je clic sur apercu (en bas de la page)

      la console d'erreur me dit
      d has no property 
      ce qui veu dire que ma variable d n'a pas étée prise en compte
      pourtant elle est au début du fichier js.js :
      var d=document.planete;


      pourquoi n'est-elle pas prise en compte ?

      ps : merci de ton aide Posotaz :)
      1. Bonsoir,
        non ta variable est bien définie mais elle n'a pas de propriété. d.nom1.autrechose n'est pas défini.
        1. d = document.planete
          donc d.nom1.value = document.planete.nom1.value

          or dans le html j'ai :

          <FORM NAME="planete">
          <input name="nom1" type="text" size="6" value="pm" />

          donc d.nom1.value existe !
          dans c cas c'est obligé d qui n'est pas défini
          1. Salut,

            C'est normal, au moment où l'instruction
            var d=document.planete;
            
            est exécutée, le document n'est pas encore chargé et donc le formulaire planete n'existe pas. Il faut le faire tout à la fin de te page HTML (ou au début de la fonction apercu()) et là la variable "d" contiendra bien le input du formulaire planete ;-) Il te suffit de faire un alert() de la variable qui pose problème quand tu doutes, ça te permet de savoir ce qu'elle contient, c'est comme ça que j'ai procédé pour débugguer ce morceau de code.
            1. j'ai mis
              <script src="calculer.js" type="text/javascript"></script>
              <script src="apercu.js" type="text/javascript"></script>
              <script src="js.js" type="text/javascript"></script>

              a la fin du html et ca fonctionne

              merci Posotaz :D