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 :

utilisation de guillemets dans un évènement HTML [FAQ]


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut utilisation de guillemets dans un évènement HTML
    salut à tous !
    voici mon problème :
    dans un élément html je dois afficher une confirmation sur le onclick.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="return confirm('le texte à afficher');"
    je précise que les affichages sont générés depuis de l'asp
    et que le contenu du confirm sera composé de variables issues d'une base de données (c'est pour le contexte mais ce n'est pas très important). je n'ai donc aucun contrôle sur les données.
    si le texte contient des guillemets simples, pas de problème, pour les échapper il suffit de mettre un \ juste devant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="return confirm('le texte que j\'affiche');"
    maintenant, si ce texte contient un guillemet double "
    il en résulte une erreur javascript... car le guillemet dois être considéré comme étant le délimiteur de fin de l'événement onclick.

    ma question est : comment échapper ces guillemets doubles ?
    y a t'il un encodage à faire ??? une table de correspondance des caractères ???

    pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    y a pas de addslashes() en asp?

  3. #3
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    non non mais en fait le problème n'est pas de l'asp c'est bien du javascript.

    j'ai peut être mal présenté le problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="#" onclick="return confirm&#40;'une \' apostrophe'&#41;;">test</a>
    <a href="#" onclick="return confirm&#40;'un \" guillemet double'&#41;;">test</a>
    le premier fonctionne, mais pas le second...

  4. #4
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    je capte pas pourquoi la double quote te pose problème vu qu'elle est encadrée par des quotes simples

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    si tu génères depuis l'asp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write "           <select style=""font-weight&#58;bold"" name=""agence_entete"" align=""right"" valign=""TOP"" onchange=""this.form.submit&#40;&#41;;"" onblur=""if&#40;this.value==''&#41;&#123;alert&#40;'Vous devez selectionner une agence.'&#41;;this.focus&#40;&#41;;&#125;"">" & chr&#40;10&#41;

  6. #6
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    Citation Envoyé par Oluha
    je capte pas pourquoi la double quote te pose problème vu qu'elle est encadrée par des quotes simples
    oui mais les quotes simples sont eux encadrés par des double (ceux du onclick).

    je voudrais qu'il y ait, dans la boite de dialogue qui apparait, un message contenant des " ou encore des '.

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Est-ce un truc comme ça que tu cherches ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Response.Write "<script language=""javascript"">" & chr&#40;10&#41;
    Response.Write " alert&#40;'""bonjour""'&#41;;" & chr&#40;10&#41;
    Response.Write "</script> " & chr&#40;10&#41;

  8. #8
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    oui c'est ça, sauf que je voudrais appeler le alert directement depuis le onclick et ne pas passer par une fonction externe. je me demande si ça va être possible...

  9. #9
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    bon je crois avoir trouvé la solution, ça va être un peut galère à faire dans le code asp...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a onclick="return confirm&#40;'un ' + unescape&#40;'%22'&#41; + ' guillemet double'&#41;;">test</a>
    si quelqu'un connaît une solution bien meilleure, qu'il parle ou se taise à jamais

    à tous...

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    teste ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write "<input name="""" id="""" type=""button"" value=""test"" onclick=""javascript&#58;this.className='bouton_Cl';alert&#40;String.fromCharCode&#40;34&#41;+'bonjour'+String.fromCharCode&#40;34&#41;&#41;;"">" & chr&#40;10&#41;

  11. #11
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    bien vu !
    ça équivaut au unescape mais je préfère.


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

Discussions similaires

  1. Comment utiliser une fonction dans du code html ?
    Par lgcaro29 dans le forum AngularJS
    Réponses: 5
    Dernier message: 30/12/2014, 17h42
  2. Utilisation de COLSPAN dans l'ods html
    Par Batmod dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 12/01/2010, 12h20
  3. utilisation d'activeX dans une page HTML
    Par stefpoisson dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2007, 16h36
  4. utilisation de guillemet dans une string
    Par robert_trudel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 08/10/2006, 10h09
  5. utiliser un bean dans le tags html:link
    Par clement42 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/07/2005, 18h36

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