Problème d'affichage de calques sous firefox

Résolu
JB_A Messages postés 307 Statut Membre -  
JB_A Messages postés 307 Statut Membre -
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. JB_A Messages postés 307 Statut Membre 5
     
    Merci beaucoup, cela marche sans problème...

    @ +
    2
  2. PhP Messages postés 1774 Statut Membre 606
     
    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