Bonjour,

Je suis nouveau en tout ce qui concerne javascript/php etc.
J'utilise un script javascript (dans un fichier .js que j'inclus) qui permet d'afficher/cacher un élement "div" d'une page html, dans le but de n'afficher le menu de navigation du haut que si l'utilisateur s'est enregistré.

Le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
var DHTML = (document.getElementById || document.all || document.layers);
 
function getObj(name)
{
	if (document.getElementById)
	{
		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	}
	else if (document.all)
	{
		this.obj = document.all[name];
		this.style = document.all[name].style;
	}
}
 
function layerDisp(lyr,flag)
{
	if(!DHTML) return;
	var x = new getObj(lyr);
	x.style.display = (flag)? 'block' : 'none';
}
 
function toggleVisible(lyr)
{
	alert("Appel a toggleVisible");
	if(!DHTML) return;
	alert("etape 1...");
	var x = new getObj(lyr);
	alert("etape 2...");
	var flag = (x.style.display == 'none')? 1 : 0;
	alert("etape 3...");
	layerDisp(lyr,flag);
	alert("etape 4...");
}
 
function maskLayer()
{
	styleCalque("message").display="none";
}

Lorsque j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<a class="CLink" href="javascript:toggleVisible('div_menu');" target="_top">TEST DE LA FONCTION</a>
Ca marche impeccablement (j'ai mis des "alert" dans tout mon code javascript pour etre sur).

Par contre, ce que je veux, c'est pas ca ! J'aimerais que ca se fasse automatiquement soit au onLoad de la page HTML si possible, soit que j'appelle ca directement dans le code.

Et voici mes problemes :
1) Si j'appelle au onLoad ou plus loin dans le code, la fonction javascript appelée quitte subitement apres le alert("etape 1...");
J'utilise ce code pour appeler la fonction dans le body du HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<script type="text/JavaScript">toggleVisible('div_menu');</script>
2) Avec ce code, la fonction est appelée 2 fois
Tandis que si j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<script language="javascript">toggleVisible('div_menu');</script>
Ca ne l'affiche qu'une fois (mais bon ca marche pas quand meme ! lol)

Voilà, si quelqu'un peut me dire comment appeler cette fonction directement dans le body du HTML (sans passer par un clic sur un lien), et si quelqu'un peut me dire pourquoi ca ne marche qu'avec un clic et pourquoi ca plante avec un appel direct....

Merci beaucoup de votre aide

Lideln