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 :

Apostrophe dans code Javascript/C#


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 108
    Points : 48
    Points
    48
    Par défaut Apostrophe dans code Javascript/C#
    Bonjour.

    Je souhaite récupérée à l'aide d'un code js l'adresse d'une personne stockée dans une DataRow :

    Response.Write("<body><script>document.getElementById('TxtAdresse').value ='" + ((string)rowPatRecup[9]).Replace("'","\'") + "';</script></body>");

    La valeur de l'adresse est : "12 rue de l'acteur". Elle contient donc une apostrophe (').

    Pour remplacer l'apostrophe qui est mal interprétée par js, j'ai essayé le replace par \' et d'autres remplacements (comme '') mais sans succès!

    Sauriez vous comment faire ?

    En vous remerciant.

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par enimren
    Pour remplacer l'apostrophe qui est mal interprétée par js, j'ai essayé le replace par \' et d'autres remplacements (comme '') mais sans succès!
    Il serait plus simple de remplacer le ' par \' au niveau de ta requête (celle qui récupère le champ adresse).
    Tu n'aurais ainsi plus à t'en soucier par la suite ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    N'oublie pas que CSharp demande un double \ pour n'en avoir qu'un seul à la sortie

    ==> Replace("'", "\\'")
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 108
    Points : 48
    Points
    48
    Par défaut
    Merci pour vos réponses.

    Desolé pour ce retard, j'étais pris par une autre réalisation.

    FremyCompany, j'ai suivi ton commentaire :

    mais j'ai mis à chaque fois \" à la place de " car je suis déjà dans une chaine "..." :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string sSelect = "select pat_numinterne, pat_nom, Replace(pat_adresse, \"'\", \"\\'\"),... "
    ça ne marche pas! J'ai le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Data.SqlClient.SqlException: '\'' : nom de colonne incorrect.
    J'ai alors remplacer la " par ' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string sSelect = "select pat_numinterne, pat_nom, Replace(pat_adresse, ''', '\\''),... "
    ça marche toujours pas. J'obtient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Data.SqlClient.SqlException: Ligne 1 : syntaxe incorrecte vers '\'
    Pourriez vous m'aider svp ?

  5. #5
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(pat_adresse, '\\'', '\\\\\\\'')
    ?

    Normalement ca devrait donner ceci en SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(pat_adresse, '\'', '\\\'')
    Et donc remplacer ' par \'
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  6. #6
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Je commence à m'y perdre un peu dans vos échappements ASP et SQL
    Mais en SQL (Oracle en tous cas), la simple quote est aussi un délimiteur de string (alors que la double quote est réservée aux identifiants, et non aux valeurs). Il faut donc l'échapper au sens SQL, c'est à dire la doubler (et non la protéger par un \ ).

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 108
    Points : 48
    Points
    48
    Par défaut
    malheureusement, je ne comprend pas ta réponse!

    J'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Replace(pat_adresse, '\'', '\\\'')
    où ' est remplacé par \' mais sans succès!

  8. #8
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par E.Bzz
    Je commence à m'y perdre un peu dans vos échappements ASP et SQL
    Mais en SQL (Oracle en tous cas), la simple quote est aussi un délimiteur de string (alors que la double quote est réservée aux identifiants, et non aux valeurs). Il faut donc l'échapper au sens SQL, c'est à dire la doubler (et non la protéger par un \ ).

    A+
    Ah mince, ca je savais pas...

    Bon ben ca change tout ca....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(pat_adresse, '\'\'', '\\\'\'')
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 108
    Points : 48
    Points
    48
    Par défaut
    exact! ça marche... merci à vous tous

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

Discussions similaires

  1. Guillemet dans code Javascript
    Par kirua99 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/01/2014, 08h51
  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 fonction javascript
    Par davdou dans le forum JSF
    Réponses: 2
    Dernier message: 14/12/2007, 13h26

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