Bonjour,

J'ai un petit soucis concernant le tuto de la galerie photo. En fait sous FF tout marche super bien mais quand je vais sous IE et que je veux ouvrir une photo miniature, çà me l'ouvre dans une autre page....

Est ce que quelqu'un a déjà eu ce soucis??
Salut,

Une page en ligne pour constater le problème donnerait un peu plus de chance de réponse pour résoudre ton problème. Smiley cligne
C'est un peu compliqué de mettre mes pages en ligne parce que j'ai une base de données derrière... et ca prendrait du temps!
En revanche je peux donner mon code. J'ai adapté le tuto pour mes besoins. Les requêtes fonctionnent.

fichier php

<script type="application/javascript" language="javascript">
	window.onload = change_photo();
</script>

<div id="galerie">
	<ul id="galerie_mini">
		<?
		$req_champs="SELECT * FROM annonce_champs".$id_projet." WHERE visible_champs=1 AND id_type=8 ORDER BY position_champs";
		$result_champs=mysql_query($req_champs);
		while($rows_champs=mysql_fetch_array($result_champs))
		{
			$nom_champs=$rows_champs['nom_champs'];
			if($rows_annonce[$nom_champs]!="")
			{
				?><li><a href="<? echo "photos_".$id_projet."/grande/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_champs['id_champs'].$rows_annonce[$nom_champs]; ?>" title="<? echo $rows_annonce['titre_'.$nom_champs]; ?>"><img src="<? echo "photos_".$id_projet."/miniature/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_champs['id_champs'].$rows_annonce[$nom_champs]; ?>" alt="<? echo $rows_annonce['titre_'.$nom_champs]; ?>" title="<? echo $rows_annonce['titre_'.$nom_champs]; ?>" /></a></li><?
			}
		}
		?>
	</ul>
	<dl id="photo">
		<dt><? echo $rows_annonce['titre_photo_1']; ?></dt>
		<dd><img id="big_pict" src="<? echo "photos_".$id_projet."/grande/A_".$id_projet."_".$rows_annonce['id_annonce']."_".$rows_photo['id_champs'].$rows_annonce["photo_1"]; ?>" title="<? echo $rows_annonce['titre_photo_1']; ?>" alt="<? echo $rows_annonce['titre_photo_1']; ?>" /></dd>
	</dl>
</div>


et le fichier javascript (identique à celui du tuto)


function change_photo()
{
	var photos = document.getElementById('galerie_mini') ;
	// On récupère l'élément ayant pour id galerie_mini
	var liens = photos.getElementsByTagName('a') ;
	// On récupère dans une variable tous les liens contenu dans galerie_mini
	var big_photo = document.getElementById('big_pict') ;
	// Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale

	var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
	// Et enfin le titre de la photo de taille normale

	// Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
	for (var i = 0 ; i < liens.length ; ++i) {
		// Au clique sur ces liens 
		liens[i].onclick = function() {
			big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
			big_photo.alt = this.title; // On change son titre
			titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
			return false; // Et pour finir on inhibe l'action réelle du lien
		};
	}
}


Sur FF le systeme marche très bien. c'est uniquement sur IE ou lorsque je clique sur les miniatures pour afficher la grande image, celle-ci s'ouvre dans une nouvelle page au lieu de s'ouvrir sur la meme page.

[/i]
Bon, j'ai trouvé mon erreur!! (J'avais pas mal de fonction javascript qui buguait....)

En fait quand j'ai appelée la fifhier javascript en haut de ma page j'ai déclaré comme ceci :


<script type="application/javascript" language="javascript">


alors qu'il aurait fallu que je déclare comme ceci! et la ça marche....


<script type="text/javascript" language="javascript">


Encore un truc a la con.... mais bon c'est le jeu!! Smiley smile