Problème d'affichage de calques sous firefox

Résolu
Bonjour,

J'ai un problème avec un javascript qui me permet d'afficher des calques (DIV). Cela fonctionne parfaitement sous IE mais pas sous Firefox.

Le javascript :


<script LANGUAGE="JavaScript1.2">
<!--

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

//-->
</script>



Dans la page :

<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><span class="normal">				
<input type="radio" name="avis" value="9" onClick="MM_showHideLayers
('raison','','hide');">&nbsp;Oui&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="avis" value="10" onClick="MM_showHideLayers
('raison','','show');">&nbsp;Non&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	
</tr>
</table>

<div id="raison" style="position:absolute; left:250px; top:260px; width:200px; height:50px; z-index:1;
 visibility: hidden" align="left">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><span class="normal">Pour quelle(s) raison(s) : 
<input type="text" name="pourquoi" size="70"></input></span>
</td>
</tr>
</table>
</div>



Merci par avance de vos réponses.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Merci beaucoup, cela marche sans problème...

    @ +
    2
    1. Bsr

      Ha comme d'hab avec ces fichues fonctions MacroMedia :-(

      Laisse tomber leurs fonctions ( indignes de figurer dans tout site web qui se respecte !)
      et apprends le Javascript tu gagneras du temps lol

      La preuve :

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html  xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"> 
      <head> 
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
      <style>
      *
      {
      	font-family : arial;
      	font-size : 12pt;
      }
      </style>
      
      <script>
      function hideElement(id,hide)
      {
      	var elt = document.getElementById(id);
      	
      	if (hide)
      	{
      		elt.style.visibility = "hidden";
      	}
      	else
      	{
      		elt.style.visibility = "visible";	
      	}
      }
      </script> 
      
      </head>
      <body>
      </div> 
      <form>
      <table border="0" cellspacing="0" cellpadding="2">
      	<tr>
      		<td width="100px">	
      			<input type="radio" name="avis" value="9" onClick="hideElement('raison',true);">&nbsp;Oui
      		</td>
      		<td>	
      			<input type="radio" name="avis" value="10" onClick="hideElement('raison',false);">&nbsp;Non	
      		</td>	
      	</tr>
      </table>
      
      <div id="raison" style="position:absolute; left:250px; top:260px; width:200px; height:50px; z-index:1;
       visibility: hidden" align="left">
      <table border="0" cellspacing="0" cellpadding="2">
      	<tr>
      		<td><span class="normal">Pour quelle(s) raison(s) : 
      			<input type="text" name="pourquoi" size="70"></input></span>
      		</td>
      	</tr>
      </table>
      </div>
      </form>
      </body>
      </html>

      0