Javascript bug ? [Résolu/Fermé]

Signaler
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
-
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
-
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

Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
212
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
212
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. ;-)
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
109
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 :)
Messages postés
407
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
3 mars 2009
46
Bonsoir,
non ta variable est bien définie mais elle n'a pas de propriété. d.nom1.autrechose n'est pas défini.
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
109
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
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
109
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