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 :

Guillemet dans code Javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut Guillemet dans code Javascript
    Bonjour,
    Voila j'ai un bout de code simple:
    une fonction confirm() sur un lien.
    Le problème que si j'ajoute du texte cela ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	myData.setValue(i, 9, '<a href="'+scriptDelete+'" onclick="return confirm();" > Delete </a>');
    En gros une histoire de guillemet car si je veux mettre du texte ou un variable contenant du texte. cela ne marche pas.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben echappe juste avec des \
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myData.setValue(i, 9, '<a href="'+scriptDelete+'" onclick="return confirm(\"coucou\");" > Delete </a>');

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Points : 101
    Points
    101
    Par défaut
    merci SpaceFrog de m'avoir répondu.

    malheureusement non ça fonctionne pas , le pop up ne s'affiche pas.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    essaye en doublant ou triplant ??

    qu'essayes tu de mettre comme texte ???

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myData.setValue(i, 9, '<a href="'+scriptDelete+'" onclick="return confirm(\"coucou\");" > Delete </a>');
    Il y a quoi dans scriptDelete ? Si c'est du script, il vaut mieux tout rassembler dans le même attribut, soit href soit onclick. Utiliser les deux est une source d'embrouille car le code est éparpillé.

    Une fois construit par JS, le bout de code HTML ressemble à ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="…" onclick="return confirm("coucou");" > Delete </a>

    (C'est quelque chose que tu peux voir avec l'inspecteur HTML, un outil présent dans tous les navigateurs récents.)

    La coloration de ce forum met bien en évidence le problème : les guillemets autour de « coucou » ont été échappés correctement par JavaScript, mais à présent ils rentrent en conflit avec les guillemets du onclick.
    Tu as deux solutions :
    • Soit tu échappes les guillemets à la manière HTML : &quot; ou &apos;
    • soit tu les échappes à la manière JS mais en faisant attention qu'ils soient différents de ceux du onclick :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      myData.setValue(i, 9, '<a href="' + scriptDelete + '" onclick="return confirm(\'coucou\');" > Delete </a>');

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Bonjour
    Encore une bonne raison de ne pas utiliser de chaines de caractères contenant code source.

    en utilisant les méthode du DOM il n'y a plus aucun problème de quote ou double quotes;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var aHref = document.createElement('A');
    aHref.setAttribute('href', scriptDelete);
    aHref.onclick=function() {
      return confirm('coucou');
    }
    aHref.appendChild(document.createTextNode('Delete'));
    myData.setValue(i, 9, aHref.outerHtml);
    Le DOM est peut être verbeux mais on manipule les attributs comme on veut.

    A+JYT

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Arf j'avais zappé les " du onclick, du coup en triplant ça devrait fonctionner

    Mais comme sus-dit il y a plus propore ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myData.setValue(i, 9, '<a href="'+scriptDelete+'" onclick="return confirm(\\\"coucou\\\");" > Delete </a>');

Discussions similaires

  1. Ipython Notebook. Utiliser valeur de variable définie en Python dans code Javascript
    Par tallent_e dans le forum Interfaçage autre langage
    Réponses: 1
    Dernier message: 13/10/2014, 19h33
  2. [Google Maps] while dans code javascript google map
    Par marycandy dans le forum APIs Google
    Réponses: 3
    Dernier message: 09/11/2010, 10h15
  3. appel PHP dans code Javascript sous IE8
    Par kazarn dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/01/2010, 16h05
  4. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  5. Apostrophe dans code Javascript/C#
    Par enimren dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/07/2007, 14h03

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