Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Un chemin en argument de fonction

Sujet résolu
    13 octobre 2006 à 20:02:11

    Salut les Zér0s :)

    Voilà, je suis un Zér0 en JS, et j'ai un petit problème :
    En fait, je récupère des liens vers des images depuis une base de données (jusque là, ça va :lol: ), et ensuite, j'ai fait une fonction JavaScript pour que, quand on clique sur la miniature de l'image, ça nous l'affiche en grand, dans la visionneuse, juste en dessous. C'est là qu'il y a un problème, parce que ça ne marche plus.

    Petite indication : dans la console JavaScript de FireFox, on me dit que ressources is not defined, ressources étant un dossier de mon chemin.
    C'est pourquoi je me demandais si les slashes étaient acceptés comme arguments de fonction, car apparament c'est là que ça cloche.

    Voici les parties intéressantes du code pour vous aider ;)

    Le script pour afficher les miniatures, avec un lien JavaScript qui renvoie à une fonction...
    while ($donnees = mysql_fetch_array($reponse))
    {
            $lien_reel = str_replace('miniatures/mini_', 'montages_photo/', $donnees['lien']);
            $lien_reel = str_replace('.png', '.jpg', $lien_reel);
            $lien_reel = substr($lien_reel, 10, -11);
                           
            echo '<td class="no_border"><a href="javascript:;" onclick="afficher_img(' . $lien_reel . ');">' . $donnees['lien'] . '</a></td>';


    ... fonction que voilà :
    function afficher_img(lien_reel)
            {
                    document.getElementById("img_gd").innerHTML = "<hr/><br/><img src='" + lien_reel + "' alt='' />";
            }


    Et le bloc qu'on modifie pour voir les images (pour pas que vous pensiez que je l'ai oublié ;) ) :
    <div id="img_gd">

    </div>



    Voilà, vous savez tout
    Merci de votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
      13 octobre 2006 à 20:09:29

      Un problème de guillemets, en php comme en javascript, il faut entourer ses chaines de caractères de guillemets.

      echo '<td class="no_border"><a href="javascript:;" onclick="afficher_img(' . $lien_reel . ');">' . $donnees['lien'] . '</a></td>';

      Si tu te dis que $lien_reel = 'dossier/image.jpg' et $donnees['lien'] = 'Texte';

      Tu vas obtenir le code html

      <td class="no_border"><a href="javascript:;" onclick="afficher_img(dossier/image.jpg);">Texte</a></td>

      (et le pire, c'est que ça ne met même pas de parse error, parce dossier/image.jpg c'est un code valide)

      Or il aurait fallu écrire:

      <td class="no_border"><a href="javascript:;" onclick="afficher_img('dossier/image.jpg');">Texte</a></td>


      Mais comme tu utilises déjà des guillemets simples dans ton echo , tu dois utiliser \' pour échapper ces guillemets simples:

      echo '<td class="no_border"><a href="javascript:;" onclick="afficher_img(\'' . $lien_reel . '\');">' . $donnees['lien'] . '</a></td>';


      Normalement ainsi ça devrait marcher ;)
      • Partager sur Facebook
      • Partager sur Twitter
        13 octobre 2006 à 20:13:59

        Ah oui, effectivement, ça marche ! :)
        Merci beaucoup Boo2M0rs0 ;)
        • Partager sur Facebook
        • Partager sur Twitter

        [JS] Un chemin en argument de fonction

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown