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

JavaScript Discussion :

[DOM] doubles quotes


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut [DOM] doubles quotes
    Bonjour,

    j'ai un problème que je n'arrive pas à résoudre et je sollicite votre aide .

    J'ai tous d'abord ce premier bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $aff .= "<span class=\"$class\">$categorie</span>$titre</br>";
    Et ce deuxième volontairement coupé à la fin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $leCalendrier .= "<td class =\"rop_multi\" style= \" border: 1px #9587c3 solid; \"><div id =\"$doc\"  OnMouseOver=\"return(BulleWrite('$aff','$doc'));\" ...
    Le problème est le suivant : bien que j'échappe les doubles quotes autour de ma class ceux si sont quands même interprété et coupe la chaine du OnMouseOver mettant fin à l'éxécution de mon javascript.

    Voici le code source généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnMouseOver="return(BulleWrite('<span class="rop3">reunion</span>abcdefghij</br><span class="rop7">reunion</span>zfzefzefezfezf</br>','t1'));"
    L'éxécution du OnMouseOver n'est pas réalisé et le contenu des span s'affiche dans la page,à la place de l'affichage dans une info bulle au survol.

    Donc ma question est la suivante : comment passé une variable texte contenant des doubles quotes à une fonction javascript ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    T'as echappé les doubles-quotes pour le PHP seulement ...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $aff .= "<span class=\\\"$class\\\">$categorie</span>$titre</br>";

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut
    Merci pour ta réponse, après essai de ta solution, ca ne marche malheureusement tjrs pas, même problème que ce que j'ai cité précédemment.

    Code source généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnMouseOver="return(BulleWrite('<span class=\"rop3\">reunion</span>abcdefghij</br><span class=\"rop7\">reunion</span>zfzefzefezfezf</br>','t1'));"

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu n'as en fait pas le droit d'échapper les caractères délimiteurs de la valeur en HTML soit les doubles-quotes ici, il te faut échapper les simples-quotes.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $aff .= "<span class=\\\'$class\\\'>$categorie</span>$titre</br>";

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut
    L'affichage ne se fait plus à l'arrache dans la page, mais le javascript ne s'éxécute pas, info dans la barre du bas :
    javascript:;

    Les simples quotes doivent aussi venir coupé les paramètres du javascript... Ou je sais pas .

    Si ta d'autre solution... .

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu dois essayer d'avoir ça une fois ton code généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onmouseover="return(BulleWrite('<span class=\'rop3\'>reunion</span>abcdefghij</br><span class=\'rop7\'>reunion</span>zfzefzefezfezf</br>','t1'));"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Par défaut
    En enlevant un anti-slash j'obtiens le code que tu ma donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnMouseOver="return(BulleWrite('<span class=\'rop3\'>reunion</span>abcdefghij</br><span class=\'rop7\'>reunion</span>zfzefzefezfezf</br>','t1'));"
    L'info bulle est alors affiché, le script est bien éxécuté mais par contre la class n'est pas appliqué .... pourquoi?

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Pelmat
    L'info bulle est alors affiché, le script est bien éxécuté mais par contre la class n'est pas appliqué .... pourquoi?
    C'est pas juste parce que c'est un document.write() qui fait ça (enfin ... je suppose dans BulleWrite() ).
    Essaye d'appliquer la class après coup via le DOM ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_du_span').className='rop3';
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. XML::DOM changer les doubles quotes
    Par l_dl_d dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 16/04/2010, 12h19
  2. [XML]Protection des doubles quotes
    Par DarkNagash dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 27/04/2006, 10h59
  3. [VB]probleme double quote dans une ressource de type string
    Par JulienCEA dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/02/2006, 12h38
  4. [Mail] Double quotes
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2005, 21h54
  5. Réponses: 4
    Dernier message: 05/07/2004, 13h17

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