IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Problème de génération de code javascript


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut [PHP-JS] Problème de génération de code javascript
    Bonjour,

    Je me prends la tête sur un problème à priori simple, mais que je ne parviens pas à résoudre par moi-même.

    Je dois générer, via un echo PHP, le code HTML suivant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onClick="ma_fonction(ma_variable_js)">...</a>
    ma_variable_js serait déclarée comme suit dans le HEAD :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
    var ma_variable_js = '<img src="bigbaby.jpg" width="1075" height="717" border="0" alt="">'
    </script>
    Tout mon problème vient du fait que je ne souhaite pas déclarer ma variable dans le HEAD, aussi mon appel de fonction deviendra :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onClick="ma_fonction('<img src="bigbaby.jpg" width="1075" height="717" border="0" alt="">')">...</a>
    A priori il me suffit d'échapper les guillemets et apostrophes, ce qui donnera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href=\"#\" onClick=\"ma_fonction('<img src=\"bigbaby.jpg\" width=\"1075\" height=\"717\" border=\"0\" alt=\"\">')\">...</a>";
    Sauf que, du coup, le guillemet de src="bigbaby.jpg" va fermer celui du onClick.
    Quoi que j'essaie, même avec du addslashes, je ne parviens pas à produire mon code html/javascript correct.

    Pourriez-vous me venir en aide, s'il vous plait ?

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Il semblerait que ça fonctionne ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="#" onclick="ma_fonction(\'<img src=\'bigbaby.jpg\' width=\'1075\' height=\'717\' border=\'0\' />\')">...</a>';
    Une question : Pourquoi faire ainsi ? Pourquoi le pas garder en mémoire ton image et attribuer un indice à ta fonction ?

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Bonsoir,

    Merci pour la proposition mais ca ne fonctionne pas : il me faut bien des guillemets et pas des apostrophes dans le code généré :-/

    Je ne souhaite pas avoir de variables pré-définies tout simplement parce que ma page web est une page web dynamique PHP dont le contenu varie sans cesse en fonction des paramètres. L'en-tête HTML, lui ne varie jamais et est écrit en début de script. Si j'enregistre mes variables javascript dans une fonction, alors je dois modifierm on en-tête HTML selon mes fonctions, ce qui est pénible à maintenir

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pas forcement puisque tu peux mettre des balises <script> dans le body.

    Tu es sur que ça fonctionne car je l'ai testé sur mon serveur et ça fonctionne avec l'exemple que j'ai donné

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Il me semblait que les variables globales JS devaient être déclarées dans le HEAD
    Mais même en déclarant une variable, j'aurais toujours mon soucis de guillemets pour la déclarer, non ?

    Sans les guillemets ca ne peut pas fonctionner car la fontion JS décripte la chaine de caractère passée en paramètre en sa basant sur les guillemets. Il s'agit d'unscript ne mappartenant pas et qui est complexe... Trop pour que je fasse mumuse avec :-).

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Quel est le but de ce script ?

    Si tu crées un tableau javascript avec tes données. Puis en fonction de l'indice tu peux récupérer l'image.

    N'empêche que le code php que je t'ai donné m'étonne. Il fonctionne sur ma page de test.

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Oui le code fonctionne, mais il est incompatible avec la fonction JS.
    Le script JS permet d'afficher l'image dans un cadre popup assez sympatique.

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas passe juste le nom de l'image à ta fonction.

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Je ne maitrise pas le code de cette fonction, il s'agit d'un script qui ne m'appartient pas.

Discussions similaires

  1. [PHP-JS] Génération de code JavaScript
    Par Gregory.M dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2009, 11h22
  2. Réponses: 4
    Dernier message: 18/06/2008, 14h29
  3. [AJAX] Ajax et le code Javascript
    Par salmoucha dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/04/2008, 18h37
  4. [Hibernate Tools]Problème de génération de code !
    Par Kevin12 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2008, 12h28
  5. [XSLT] Problème de génération de code javascript (inclure) via XSLT
    Par fragmonster dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/04/2007, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo