Bonjour messieurs,
Désolé de vous importuner avec mon intrusion dans ce post... cependant j'ai moi même également un petit soucis avec une div que je veux mettre et updater dans un td d'un table...
En fait, je la crée d'abord en javascript via :
if (navigator.appName=="Netscape" ){document.writeln('<layer name="menu"></layer>');}
else{document.writeln('<div id="menu"> </div>');}
et l'update dynamiquement dans une fonction affMenu() via la commande :
document.getElementById('menu').innerHTML = chaine;
Cependant, le problème est que le contenu de la DIV ne s'affiche pas dans la TD mais en haut de mon fichier... ce qui est relativement.... embêtant. Je ne comprends pas pourquoi elle fait cela... Alors si quelq'un aurait une suggestion, je lui serais très reconnaissant.
D'avance merci de vos réponses.
Cf. mon code ci dessous...
Le JS :
/* menu4 par E.D Prod 1998
etiennedeb@ifrance.com
http://javascript.lab.cc
*/
if (navigator.appName=="Netscape" ){document.writeln('<layer name="menu"></layer>');}
else{document.writeln('<div id="menu"> </div>');}
alert("HELLO" );
var type;type = new Array();
var level;level = new Array();
var texte;texte = new Array();
var status;status = new Array();
var image;image = new Array();
var lien;lien = new Array();
var pere;pere = new Array();
var ok=0;var nb=1;var Apere=0;var Alevel=1;var oldpere=0;
//
// La cible par defaut pour les liens
//
var Acible="_top";
//
function ajouter(Anew,Atype,Atexte,Aimage,Alien) {
if (Anew==1) {Apere=0;Alevel=1;}
type[nb]=Atype;
level[nb]=Alevel;
pere[nb]=Apere;
status[nb]=0;
texte[nb]=Atexte;
image[nb]=Aimage;
lien[nb]=Alien;
if (Atype==1) {Apere=nb;}
nb+=1;if (Atype==1) {Alevel+=1;}
}
function ouvre(num){
status[num]=1;affMenu();
}
function ferme(num){
status[num]=0;affMenu();
}
function verif(num){
if (pere[num]!=0) {
while (pere[num]!=0) {
num=pere[num];
if (status[num]==0) {ok=0;}
}
}
}
function affMenu(){
var chaine = "";var saute=0;var niveau=1;
for (var i = 1; i < texte.length; i++) {
ok=1;
verif(i);
if (ok==1) {
for (var j = 1; j < level[i]; j++) {
if (j == level[i]-1) {
chaine+="<img src='images/espacef.gif' align='top'>";}
else {
chaine+="<img src='images/espace2.gif' align='top'>";}
}
if (type[i]==1) {
if (status[i]==0) {
chaine+="<img src='images/fermer.gif' border='0' align='top' onmouseup='ouvre("+i+" )'> ";
chaine+="<A HREF='javascript:ouvre("+i+" )' class='liens'>"+texte[i]+"</a>";
}
else {
chaine+="<img src='images/ouvert.gif' border='0' align='top' onmouseup='ferme("+i+" )'> ";
chaine+="<A HREF='javascript:ferme("+i+" )' class='liens'>"+texte[i]+"</a>";
}
}
else {
chaine+="<A HREF='"+lien[i]+"' class='liens' target='"+Acible+"'>";
if (image[i]=="" ) {
chaine+="<img src='images/lien.gif' border='0' align='top'> ";
}
else {
chaine+="<img src='"+"images/"+image[i]+"' border='0' align='top'> ";
}
chaine+=texte[i];
chaine+="</A>"
}
chaine+="<BR>";
}
}
if (navigator.appName=="Netscape" ){
document.layers['menu'].document.write(chaine);
document.layers['menu'].document.close();
}
else{
document.getElementById('menu').innerHTML = chaine;
}
}
// Les entrees du menu sont crees ici
// argument 1: si mis a 1 signifie que c'est une nouvelle branche (ou fin de la branche en cours)
// argument 2: type de l'entree, 1 pour un dossier, 2 pour un lien
// argument 3: texte qui apprait dans le menu
// argument 4: Icone associe
// argument 5: Lien associe
ajouter(1,1,"Environement","","ShowHeaderAction.action?option=options1" );
ajouter(0,2,"Général","","ShowHeaderAction.action?option=options11" );
ajouter(0,2,"Arbre","","ShowHeaderAction.action?option=options12" );
ajouter(0,2,"Raccourcis","","ShowHeaderAction.action?option=options13" );
ajouter(0,2,"Dossiers","","ShowHeaderAction.action?option=options14" );
ajouter(0,2,"Confirmations","","ShowHeaderAction.action?option=options15" );
ajouter(1,1,"Taches","","ShowHeaderAction.action?option=options2" );
ajouter(1,1,"Processus","","ShowHeaderAction.action?option=options3" );
ajouter(1,1,"File processus","","ShowHeaderAction.action?option=options4" );
ajouter(1,1,"Document","","ShowHeaderAction.action?option=options5" );
ajouter(1,1,"Formulaires","","ShowHeaderAction.action?option=options6" );
ajouter(1,1,"Mail","","ShowHeaderAction.action?option=options7" );
Dans le fichier HTML initial, je fais bien sûr un appel de la fonction affMenu(); au moment opportun, c'est à dire dans ma balise TD...
<td width="20%" valign="top">
<SCRIPT LANGUAGE="javascript">
affMenu();
</SCRIPT>
</td>
Mais cela ne se positionne pas bien... seulement en haut à gauche de ma page...
Quelqu'un aurait-il une idée s'iou plaît, cela me décoincerait vraiment.... merci d'avance...
---------------
Anthony