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

ASP Discussion :

Ecrire du javascript en asp.


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Ecrire du javascript en asp.
    Hello,

    Voilà pour pouvoir afficher des boites de message javascript via mon code asp, j'ai créé une petite fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function Message(msg)
      Response.Write("<script language='javascript'>alert('" & msg & "');</script>")
    end function
    Malheureusement cela ne fonctionne pas lorsque je passe dans mon paramètre "msg" un texte contenant des apostrophe du type : "l'apostrophe".
    J'ai essayé de doubler l'apostrophe avec Replace() mais ça ne marche pas mieux.

    Je rencontre un problème similaire lorsque j'essaye d'appeler une fonction javascript en langage serveur.

    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write("<select name='liste_asso' onChange='document.form_assos.liste_asso2.value='0';>")
    ça ne fonctionne pas le javascript nécessitant apparement des doubles apostrophes. Du coup je suis obligé de repasser en HTML pur.

    Merci d'avance.

    Trilby

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    et si tu fait un replace en mettant le code des caractères?
    Le caractère space ressemble à ou qq chose ds le genre
    fait de même pour les autres

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse.

    En fait j'avais déjà essayé quelque chose comme-ça mais le javascript ne reconnait pas les caractères spéciaux l'HTML.

    Ce qui fait qu'au lieu d'avoir :
    "L'apostrophe" je vais afficher "L&acute;apostrophe".

    @+, Trilby.

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    bizarre...
    vérifie que le code asp te génére un code propre...je veux dire qu il te coupe pas la chaine renvoyé à cause d'une connerie de double quote par ex

    sinon je vois pas...
    perso je viens d'ecrire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <script language = "javascript">
    function affiche(v){
    	alert(v);
    }
    </script>
    </head>
    <body>
    <form name="l">
    <input type="text" name="txto" size="10">
     
    <input type="button" name="yop" onClick="javascript:affiche(txto.value)">
    </form>
    </body>
    </html>

    ...et meme avec des apostrophes ça marche

    donc désolé mais comprend pas
    peut être que le fait d'écrire ton alert directement sans passer par une fonction ou un évenement ne lui plait pas...

    Bon je sais pas si mes idées te servent mais bon je vois pas autre chose
    personnelement

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Ok on était sur la même longueur d'onde !

    Dans mon cas il s'agit d'une fonction vbscript qui elle-même fait appelle au alert() du javascript (regarde la fonction Message() de mon 1er post).

    En fait l'idée est d'appeler directement du javascript dans mon code asp (via le Response.Write()) sans revenir en langage client.

    Merci pour ton aide.

    Trilby

  6. #6
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    je suis désolé je connais pas le javascript coté serveur

    moi tout ce que g compris c que tu essayes d'ecrire du javascript ds ton html résultant a partir de ton code asp...

    ...essaie de trouver qq chose sur le doublage ou l'annulation des quotes en javascript, pour moi c clair que c ca qui merde

    le code html resultant doit donner un truc bizarre comme
    ...ça c sûr que ça merde

    c peut être des "/" devant le caractère...faut voir
    désolé en tout cas

  7. #7
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    g peut être une idée tte simple...
    normalement pour annuler les "'" faut mettre un "/" devant

    si ça marche imprime ds ton code html (ds la partie js)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var msg;
    msg= & [i]ton message[/i] & ";"
    alert(msg);

  8. #8
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg=Replace(msg, "'", "''", 1, -1, 1)

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci à vous 2 j'ai fait une fusion de vos 2 réponses et je suis enfin parvenu à mon but :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function Message(msg)
      msg=Replace(msg, "'", "\'")
      Response.Write("<script language='javascript'>alert('" & msg & "')</script>")
    end function
    J'avoue qu'à force de passer d'un language à l'autre j'ai parfois un peu de mal à m'y retrouver et c'est toujours sur des bricoles comme-ça que je sèche !

    @+, Trilby.

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

Discussions similaires

  1. Appeler une fonction JavaScript (en ASP) ?
    Par sperron dans le forum ASP
    Réponses: 25
    Dernier message: 12/02/2010, 09h46
  2. javascript et asp
    Par lietof dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/04/2006, 11h08
  3. [ATL][MFC?]Ecrire une dll pour ASP
    Par LEK dans le forum MFC
    Réponses: 10
    Dernier message: 11/11/2005, 17h38
  4. Equivalent de submit javascript en ASP
    Par ahage4x4 dans le forum ASP
    Réponses: 4
    Dernier message: 17/06/2005, 16h52
  5. asp javascript ou asp vbscript ?
    Par jive dans le forum ASP
    Réponses: 4
    Dernier message: 04/04/2005, 09h35

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