Javascript bug ?

Résolu
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   -  
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   -
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

6 réponses

Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
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
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
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. ;-)
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
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 :)
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Bonsoir,
non ta variable est bien définie mais elle n'a pas de propriété. d.nom1.autrechose n'est pas défini.
0

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

Posez votre question
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
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
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
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
0