Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1834 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  getElementById qui plante tout !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

getElementById qui plante tout !

n°1498122
KahL
Posté le 03-01-2007 à 10:23:54  profilanswer
 

Bonjour, j'avais fais un script assez complexe mais qui fonctionnait bien pour faire des sélection de périodes de dates sur un calendrier, ensuite j'ai fais une petite modif dessus et ça fonctionnait toujours, mais depuis qu'on a changé d'année (je me doute que le probleme ne vient pas de là mais c'est pour dire que ça a marché pendant un certain temps !!!) j'ai cette erreur (dans l'inspecteur Firefox):
 
Erreur : document.getElementById(AnneeMoisJours) has no properties
 
Le bout de code qui merdouille est la condition suivante :
 
if(( document.getElementById(AnneeMoisJours).style.color == "#ff4444" ) || ( document.getElementById(AnneeMoisJours).style.color == "rgb(255, 68, 68)" ))
 
Quelqu'un aurait-il une idée sur le sujet ?
Y a t il un moyen de savoir si le getElementById est "défini" ou pas ... genre isset() en PHP ?
Merci d'avance ;)

mood
Publicité
Posté le 03-01-2007 à 10:23:54  profilanswer
 

n°1498124
gebruik
Posté le 03-01-2007 à 10:29:23  profilanswer
 

C'est quoi le sens de ton bout de code ? Il ne sert pas à grand chose...

n°1498127
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-01-2007 à 10:31:52  profilanswer
 

y'a quoi dans la variable AnneeMoisJour? Parce qu'apparement il trouve pas l'id correspondant dans ton document ...
 
Bref pour faire ton test le plus simpe est souvent de faire:

Code :
  1. if ( node = document.getElementById(AnneeMoisJour) ){
  2.   ...
  3. }

n°1498131
KahL
Posté le 03-01-2007 à 10:38:55  profilanswer
 

AnneeMoisJour c'est une date type mysql, du style 20070103
t sûr que c bien "node =" et pas "node ==" ?
 
Alors justement quelques explications seront les bienvenues je pense :
le principe est de parcourir tout le calendrier affiché et de détecter les dates qui sont d'une certaine couleur (d'où le style.color == "#ff4444" ) pour repérer celles qui sont effectivement sélectionnées et les sauvegarder
ce qui est bizarre c'est qu'on dirait qu'il va chercher un id hors de ceux qui existe (d'où le has no properties ... je pense) alors qu'avant le principe était le même et ça fonctionnait !

Message cité 1 fois
Message édité par KahL le 03-01-2007 à 10:42:46
n°1498134
KahL
Posté le 03-01-2007 à 10:49:59  profilanswer
 

Citation :

C'est quoi le sens de ton bout de code ? Il ne sert pas à grand chose...


c'est le test pour savoir si la cette date est sélectionnée ou pas, car quand une date est sélectionnée, elle change de couleur
là bien entendu il manque le code après la condition mais je l'ai pas mis parce que c'est pas ça qui plante, c'est la condition
voila le bloc :

Code :
  1. if(( document.getElementById(AnneeMoisJours).style.color == "#ff4444" ) || ( document.getElementById(AnneeMoisJours).style.color == "rgb(255, 68, 68)" ))
  2. {
  3. JourValid += (AnneeMoisJours + 100 + "-" );
  4. }

n°1498140
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-01-2007 à 10:55:06  profilanswer
 

KahL a écrit :

AnneeMoisJour c'est une date type mysql, du style 20070103
t sûr que c bien "node =" et pas "node ==" ?


oui je suis sur du "node =", l'affectation te retourne true or false.
 

KahL a écrit :

Alors justement quelques explications seront les bienvenues je pense :
le principe est de parcourir tout le calendrier affiché et de détecter les dates qui sont d'une certaine couleur (d'où le style.color == "#ff4444" ) pour repérer celles qui sont effectivement sélectionnées et les sauvegarder
ce qui est bizarre c'est qu'on dirait qu'il va chercher un id hors de ceux qui existe (d'où le has no properties ... je pense) alors qu'avant le principe était le même et ça fonctionnait !


A vu de nez comme ça je dirais que tu aurrais interêt a faire un getElementsByTagName plutot

n°1498156
KahL
Posté le 03-01-2007 à 11:16:20  profilanswer
 

ok ben c bon avec le coup du node ^^
tu me sauves la vie là ... si t'étais plus près je t'embrasserais ... euh bon restons correct, une bonne poignée de mains suffira je pense ! :P
merci mille fois ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  getElementById qui plante tout !

 

Sujets relatifs
méthode getElementById() : vraiment utile ?getElementbyId().innerhtml sous ie4
flash qui plante sous Internet explorer.FLASH + PHPWin api : programme qui plante à cause des images
EJB select plante avec ORA constraint violationcommande getElementById
[JS] FF ne veut pas de mon "getElementById().innerText"fonction Lookup plante GDB sous DDD
DDD - Lookup function -> plante gdb[JS] FireFox plante sur mon getElementById('xxx').innerT ext.split('.')
Plus de sujets relatifs à : getElementById qui plante tout !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR