8792 sujets

Développement web côté serveur, CMS

Tout d'abord, bonjour à tous, et merci pour ce site exceptionnel, véritable référence du css (qu'on aimeeee Smiley murf )

Je me retrouve confrontée dans la création d'un de mes sites à un problème dont je ne trouve pas de solutions.
J'ai hésité à mettre le post dans php ou javascript, j'espère que ça ira comme ça......

C'est un peu compliqué, je vais essayer de vous expliquer ça clairement.
Je travaille sur un site de robes (de mariées). J'ai une sorte de galerie, et quand on clique sur une robe, on accède à une page descriptive du produit avec photo(s). Pour certaines robes, j'ai une vue de face et de dos.

J'ai deux liens : Avant et Arrière. Quand je clique sur Avant je vois la face avant, et quand je clique sur Arrière, je vois la face arrière.

Mon problème est que sur l'image, j'ai un lien pour voir l'image en version plus grande. Et je n'arrive pas à changer ce lien en fonction de ma vue.

Est-ce possible sans rechargement de page? Je pensais faire passer une variable dans le onClick, mais je ne peux pas la récupérer dans php sans faire de rafraichissement de la page.

Je vous copie mon code :


//je ne mets avant-arriere que si la photo de dos est dispo
if(file_exists("robes/".$row['reference_robe']."_dos_m.jpg"))
{

             //Lien  pour passer à la vue arrière
	echo "<a class='detail' href='#' onClick=\"MM_swapImage('ImageRobe','','robes/".$row['reference_robe']."_dos_m.jpg',1);\">Derrière</a>";

            //Lien pour passer à la vue avant
	echo " - <a class='detail' href='#' onClick=\"MM_swapImage('ImageRobe','','robes/".$row['reference_robe']."_m.jpg',1);\">Devant</a>";		
}


Je voudrais trouver le moyen d'avoir une variable qui me dirait si je suis en vue arriere ou avant, pour ainsi pouvoir changer le code de l'url grâce à une condition (sans rafraîchissement).
Je ne sais pas si c'est possible...... Smiley decu

Merci d'avance pour vos avis et conseils Smiley biggrin

Bonne journée
Modifié par Meza (12 May 2006 - 15:57)
Bonjour Meza,

Tout d'abord, le PHP et le JavaScript ne peuvent pas communiquer l'un avec l'autre (PHP : côté serveur ; JS : côté Client). Donc seul le JavaScript va te permettre de réaliser cela. Voilà une solution simple qui peut répondre à ton attente :

Code HTML (à générer par PHP) :


<p><a href="#" onclick="afficherImage('dossier/image1.png');">Avant</a></p>
<p><a href="#" onclick="afficherImage('dossier/image2.png');">Arrière</a></p>
<p id="previsualisation">
<!-- Affichage de l'image à l'initialisation d'une page -->
</p>


Fonction JS (affichage & changement du lien hypertexte) :


<script type="text/javascript">
function afficherImage(img)
{
	var preview = document.getElementById("previsualisation");
	preview.innerHTML = '<a href="'+img+'"><img src="'+img+'" /><a>';
}
</script>


Espérant t'avoir apporté un début de solution ...
Bonne journée. Romain
Modifié par yodaswii (12 May 2006 - 15:47)
Ahhhh merciii...

Oui, je sais qu'ils ne peuvent communiquer entre eux, mais j'étais desespérée lol
Note pour plus tard : arrêter d'être une quiche en JS.

En tout cas je viens de tester ça marche super bien. J'ai juste rajouté un argument à la fonction pour avoir mon lien vers l'image haute qualité et c'était bon.

Je te remercie! J'ai appris de nouvelles choses aujourd'hui Smiley biggrin
C'était tout bête en fait, c'est dû à mon manque de connaissance en JS.
Très pratique en tout cas

Merciiiiiiiiiiiii
est ce que tu pourras m'indiquer comment changer la classe d'un lien hypertexte en cliquant dessus, j'ai essaye avec .className mais ça ne marche pas.
merci.