Javascript bug ?

Résolu/Fermé
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 - 4 nov. 2007 à 00:22
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 - 6 nov. 2007 à 16:23
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
A voir également:

6 réponses

Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
5 nov. 2007 à 21:43
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 samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
4 nov. 2007 à 19:40
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 lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
5 nov. 2007 à 01:04
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 lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
5 nov. 2007 à 02:27
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 lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
5 nov. 2007 à 17:59
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 lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
6 nov. 2007 à 16:23
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