Probléme avec javascript

Fermé
Leyit Messages postés 2 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 7 mai 2010 à 01:25
Leyit Messages postés 2 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 7 mai 2010 à 12:31


bonjour, avant de commencer je tient à préciser que je suis néophyte en javascript et que je n'ai trouvé nulle part la solution à mon problème malgré plusieurs heures de recherches.


donc:
J'ai piqué ce script http://www.java.scripts-fr.com/scripts.php?js=13 que j'ai essayé d'adapter à ma page:


ça me donne donc:

dans l'entête:

<script type="text/javascript">
<!-- Debut
// JavaScript pris sur le site: "http://www.java.scripts-fr.com"

function ImageMax(chemin)
{
html = '<html> <head> <title>photo</title> </head> <body onBlur="top.close()">
<IMG src="'+chemin+'" BORDER=0 NAME=ImageMax onLoad="window.resizeTo(document.ImageMax.width+10, document.ImageMax.height+30)">
</body></html>';
popupImage = window.open('','_blank','toolbar=0, location=0, directories=0, menuBar=0, scrollbars=0, resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close()
};
</script>


puis lorsque je veux utiliser ma fonction:

<?php
$chemin = "'photos/" . $photo[$i]['Nomphoto'] . "'";
?>
<table id=photo>
<tr>
<td><a href="#" onclick="ImageMax(<?php echo $chemin; ?>); "><img src="photos/<?php echo $photo[$i]['Nomphoto']; ?>" alt="une photo" width="320px;" height="180px;"/></a> </td>

[...]


je sait que le chemin contenu dans $chemin est correct (le tableau à double entrée est du au fait que je récupère le nom dans la base de donnée puis traite les images dans une boucle), je l'ai testé avec une alert, il s'affiche correctement.
en fait mon problème et que je n'arrive absolument pas à voir où je me trompe.

J'ai effectué les modification suivantes par rapport au script original:

au lieu de deux images, il n'y en a plus qu'une seule qui tantôt est redimensionnée avec les attributs width et height, tantôt (onclick) devrais être affichée dans une popup en taille réelle.

lorsque je clique sur l'image, aucun popup n'apparait, ça me rafraichit simplement la page.
je précise que je travaille sous wamp5


merci de m'aider, j'avoue que je ne trouve pas la solution et que ça m'énerve XD

très cordialement.

2 réponses

adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 159
7 mai 2010 à 10:22
Salut,
Essaye de supprimer l'attribut href="#" de ta balise <a ...></a>
0
Leyit Messages postés 2 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010
7 mai 2010 à 12:31
ça ne change rien sinon que le clic de l'image ne déclanche même plus le rafraichissement de la page.

J'ai regardé les code source de ma page (pour être certain que le php fonctionnait bien)

ça me donne:

à l'appel de la fonction
<a href="#" onclick="ImageMax('photos/Nlife2.JPG'); "><img src="photos/Nlife2.JPG" alt="une photo" width="320px;" height="180px;"/></a>

[...]

bon j'ai trouvé la source du problème, le code donné n'est pas fonctionnel, cependant si j'affiche le code source du site où je l'ai trouvé et que je le copie colle ça marche (et miracle, il y a deux variables en plus XD)

donc en fait il fallait l'entête de fonction suivante

function ImageMax(chemin)
{
i1 = new Image;
i1.src = chemin;
html = '<html><head><title>ImageMax</title></head><body scroll="no" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" onBlur="top.close()"><IMG src="'+chemin+'" BORDER=0 NAME=ImageMax onLoad="window.resizeTo(document.ImageMax.width+10,document.ImageMax.height+30)"></body></html>';
popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close()
};


voil^à

merci de la réponse, elle m'a ouvert les yeux XD
0