Error Javascript:"Object Required"- 5 lignes de code [RESOLU]

Error Javascript:"Object Required"- 5 lignes de code [RESOLU] - HTML/CSS - Programmation

Marsh Posté le 10-06-2009 à 10:27:10    

Bonjour a tous.
 
Je suis sur le developpement d un site et j'ai malheureusement un erreur javascript. Tout marche parfaitement sous IE et Firefox. Mais IE me met qd meme une erreur.
 
Il s'agit d un script pour cacher un conteneur exemple: <div id="a1"></div>
 
En cliquant sur un lien: <a onclick="javascript:AddComment();return false" href="#"> Ajouter un commentaire</a>
 
Le code javascript est:
 

Code :
  1. <script type="text/javascript">
  2. function AddComment() {
  3. if (document.getElementById("a1" ).style.display == 'none') {document.getElementById("a1" ).style.display = 'block';}
  4. else if (document.getElementById("a1" ).style.display == 'block') {document.getElementById("a1" ).style.display = 'none';}
  5. else {}
  6. }
  7. </script>


 
J'arrive a faire une erruer dans 5 lignes! c'est vous dire a quel point je suis mauvais !
 
Je voulais faire If Else au debut mais ca ne marchait pas ! voulais pourquoi, j ai fait IF, ELSE IF, ELSE
 
Merci par avance pour votre aide!


Message édité par MatthieuFourcade le 10-06-2009 à 11:49:49
Reply

Marsh Posté le 10-06-2009 à 10:27:10   

Reply

Marsh Posté le 10-06-2009 à 11:08:00    

Si on ajoute

alert(document.getElementById("a1" ).style.display);

alors on s'aperçoit que le style est vide par défaut, et ne contient donc ni "none", ni "block". Voici une nouvelle version qui marche chez moi.

<html>
<head>  
<script type="text/javascript">
function AddComment()
{
  if (document.getElementById("a1" ).style.display == 'none') {
    document.getElementById("a1" ).style.display = 'block';
  }
  else {
    document.getElementById("a1" ).style.display = 'none';
  }
}
</script>
</head>  
 
<body>
<a href="#" onClick="javascript:AddComment();"> Ajouter un commentaire</a>
<div id="a1">Commentaire</div>
</body>
</html>

Reply

Marsh Posté le 10-06-2009 à 11:49:15    

Merci bcp !
 
Ca marche et c'est effectivement plus propre !
 
Pour ma premiere erruer c'est parce que le block <div id="a1"> </div> n'existait pas (il se crée dynamiquement en fct de la longueur de la page)
 
Merci encore !


---------------
Dell XPS 1330 M - T9300 - 4Go - 250Go 7200 tr - LED - 8400 Gs /// Custom - P4 935D - 2Go - 500Go 7200 tr - 7600 Gs - Asus 19"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed