Problème de getElementById()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de getElementById()

par Ryle » 04 mai 2007, 14:36

La balise n'a pas nécessairement besoin d'être "avant", il faut juste que le navigateur l'ai trouvé au moment où il a besoin de l'utiliser :
<script language="javascript"> 
function maFonction() {
  alert (document.getElementById('image0'));
}
</script>  

<div class="image" id="image0"> </div>  

<script language="javascript"> 
  maFonction(); // affiche [object] 
</script> 
le getElementById est spécifié avant la balise, mais comme il n'est exécuté par l'appel à la fonction qu'après la déclaration du div, il sera bien défini :)

par epso » 04 mai 2007, 14:29

Ah ouai c'est ça je savais pas qu'il fallait que la balise soit avant, ba merci alors lol

par Ryle » 04 mai 2007, 12:26

Lorsque ton code javascript est appellé, ton div a-t-il déjà été défini ou bien arrive-t-il ensuite dans le code ?
<script language="javascript">
alert (document.getElementById('image0')); // renvoi null ou undefined
</script> 

<div class="image" id="image0"> </div> 

<script language="javascript">
alert (document.getElementById('image0')); // renvoi [object]
</script> 
Edit : humpf.. grilled :)

par mere-teresa » 04 mai 2007, 12:23

As tu mis ta ligne de JS avant ou après avoir mis la balise div id="tonid" ?

Problème de getElementById()

par epso » 04 mai 2007, 09:23

Bonjour,

voila, j'ai une page HTML comme ceci:

Code : Tout sélectionner

<div class="image" id="image0"> </div>
et ensuite dans mon code javascript, lorsque je fait

Code : Tout sélectionner

var image = document.getElementById('image0');
je récupere un null, quelqu'un sait d'ou ça peut venir? le getElementById marche avec les div non??^^

Voila, merci :D