Bonjour à tous,

J'ai un fichier php qui génère automatiquement des div,

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
<?php 
mysql_select_db($database_bdd, $bdd);
$query_cadeaux = "SELECT * FROM cadeaux WHERE ligne='1' ORDER BY tri";
$cadeaux = mysql_query($query_cadeaux, $bdd) or die(mysql_error());
$row_cadeaux = mysql_fetch_assoc($cadeaux);
$totalRows_cadeaux = mysql_num_rows($cadeaux);
$i=1;
do
{?>
	#recherche_<?php echo $row_cadeaux['id'] ?> {
		position:absolute;
		left:0px;
		top:-240px;
		width:678px;
		height:240px;
		z-index:1;
		visibility: hidden;
		background: url(../img/fond-div-carrousel.png);
	}
<?php
        $TABlien[$i]=$row_cadeaux['id'];
        $TABimage[$i]=$row_cadeaux['visuel'];
        $i++;
} while ($row_cadeaux = mysql_fetch_assoc($cadeaux));
mysql_free_result($cadeaux);
?>
qui sont cachés avec le script suivant :

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
<script type="text/JavaScript">
<!--
 
function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
 
function MM_showHideLayers() { //v6.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 cette page j'utilise un carrousel, qui au click sur les images devrait faire apparaître les fameux div cachés.

Dans le fichier carrousel.js je définis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
onClick:function(){document.location=this.url;},
et dans le fichier php, je passe le paramètre url comme suit dans la balise "longdesc" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<div id="imageFlowSolutionCourrier" class="imageflow"><?php 
                  for($i=1;$i<=count($TABimage);$i++)
                  {?>
				<img src="../images/img_visuels/<?php echo $TABimage[$i] ?>.png" longdesc="javascript:MM_showHideLayers('recherche_<?php echo $TABlien[$i] ?>','','show')" alt="" /><?php 
                        }?>
		  </div>
Mais le div caché n'apparaît pas.

Si je pose un alert sur this.url dans le fichier js j'ai la petite popup qui apparait bien avec le lien dedans : javascript:MM_showHideLayers('recherche_34','','show')

Si quelqu'un pouvait me donner une piste car je n'arrive pas à voir si le problème vient du fichier php ou bien du js.

Bonne journée.

[edit]J'ai aussi essayé de désactiver l'appel depuis le fichie js et du coup de mettre un onclick directement dans la balise "img" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<img src="../images/img_visuels/<?php echo $TABimage[$i] ?>.png" onclick="javascript:MM_showHideLayers('recherche_<?php echo $TABlien[$i] ?>','','show')" alt="" />
Mais sans plus de succès...[/edit]