Probléme code javascript

Résolu/Fermé
flareski1 Messages postés 26 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 18 décembre 2011 - 9 mars 2011 à 22:13
flareski1 Messages postés 26 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 18 décembre 2011 - 9 mars 2011 à 22:33
Bonjour,

Je suis devant un probléme que je n'arrive pas à résoudre, je ne comprend pas d'ou peut venir l'érreur, quand je clique sur le lien rien ne se passe mais internet explorer affiche en bas de la page "il existe des erreurs".
Meme probléme pour mozilla.

Je vous met ci-dessous le code de ma page :


<head>
	<title>Page de test</title>
    
<style type='text/css'>
.Zone_1
{
width: 600px; 
height: 300px; 
float: left;
}

.Zone_2
{
width: 300px; 
height: 300px; 
float: left; 
padding: 5px;
}

.Center
{
text-align: center;
}

.Zone_3
{
width: 278px; 
height: 278px; 
float: left; 
padding: 5px;
}

#P1
{
padding: 5px; 
display: none;
}

#P2
{
padding: 5px; 
display: none;
}
</style>

<script type="text/javascript">
	function Afficher(Div){
	var i;
		for(i=0; i<5; i++){
			if(i == Div){
				document.getElementById("P"+i).style.display = 'block';
			}
			else{
				document.getElementById("P"+i).style.display = 'none';
			}
		}
		return false;
	}
</script>

</head>

<body>

<div class='Zone_1'>
<div class='Zone_2'>
<h1 class='Center'>Mes services</h1>

<br/><br/><br/>
<p>Texte de présentation</p>
<br/><br/>

<ul>
<li><a onclick="Afficher(1);" >Affichage div 1</a></li><br/>
<li><a onclick="Afficher(2);" >Affichage div 2</a></li><br/>
</ul>
</div>

<div class='Zone_3'>

<div id="P1">
<p>C'est le text de la div 1</p>
</div>

<div id="P2">
<p>C'est le text de la div 2</p>
</div>

</div>
</div>




Si vous pouviez me dire ce qui ne va pas je vous en serez reconnaissant.

Merci d'avance.

Flareski1.
A voir également:

2 réponses

productif Messages postés 39 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 9 février 2017 20
9 mars 2011 à 22:25
La boucle for fait varier i de 0 à 4. Or il n'existe que 2 <div> dans le code, avec les ids P1 et P2. Dès la première itération (recherche de P0), getElementById renvoie null, et par conséquent le ".style.display" cause une erreur.

Il faudrait écrire plutôt:
for(i=1; i<3; i++){
0
flareski1 Messages postés 26 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 18 décembre 2011
9 mars 2011 à 22:33
Merci de ta réponse, j'étais partis sur une mauvaise de la boucle for.
Bonne soirée.

Flareski1.
0