|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
bonjour,
je génère une série d'éléments et pour chacun je génère un evt onclick qui met à jour un <input text>. Jusque là tout va bien, le pb arrive lorsque la valeur en question contient une apostrophe (' ou chr(39)). Code :
E.value = '<xsl:value-of select="Valeur"/>';
Par avance merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
il faut, je pense, utiliser le caractère d'échappement (\) devant l'apostrophe pour pas qu'elle soit interprétée comme une fin de chaîne:
E.value ='\''; donc je pense qu'il faut tester en xsl si la valeur est un apostrophe et donc rajouter le backslash.
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Merci pour ta réponse. Ca marche presque ! Je n'ai plus de message d'erreur mais j'ai \' dans ma chaîne.
Pour être plus précis, je suis en train d'écrire un composant xsl pour remplacer la combobox classique (select en html), histoire d'avoir un style plus web. Pour chaque ligne de ma combo, je déclare un attibut onclick qui a pour effet de mettre le contenu choisi dans la partie haute de la combo. C'est là qu'intervient mon E.value = '<xsl:value-of select="XX"/>' Des idées pour conserver ' sans erreur et sans avoir \' ?? |
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() |
je suis pas sur d'avoir tout compris à ton problème.
En tous les cas voici un petit exemple de ce que j'ai pu comprendre et qui fonctionne: j'ai dans mon OutputDoc: Code :
Code :
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
||||
|
|
00
|
|
|
#5 | ||||
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Je vais essayer d'être plus clair dans l'énoncé.
J'ai une grappe dans mon output comme suit : Code :
Code :
Merci d'avance |
||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() |
ok je vois.
la quote (') se trouve en plein milieu d'un texte. je pense qu'au moment de l'ajout dans l'OutputDoc il faut passer la chaine au crible pour remplacer les ' par \' par exemple avec un TranslateStrToStr
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
En fait je l'avais fait à la suite de ta première réponse, en utilisant stringreplace. J'obtiens la même chose avec translatestrtostr à savoir plus d'erreur javascript, mais \' dasn ma chaîne au lieu d'une quote simple.
|
|
|
00
|
|
|
#8 | ||||||
|
Membre Expert
![]() |
ok je complète le test, ca fontionne pour moi:
le XMLGram: Code :
Code :
Code :
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
||||||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Je suis bien d'accord avec toi, la partie javascript fonctionne (il n'y a plus d'erreur)
Mon problème réside dans le fait que l'affichage de la valeur (<xsl:value-of select="$Valeur"/>) me retourne John\'s house |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() |
j'ai toujours du mal à comprendre ton problème là. dans mon exemple avec le texte contenant l'echapement, il s'affiche donc bien dans mon input puisque le javascript réinterprète la chaine enant du xsl:value-of. de quoi as-tu besoin ? d'une valeur sans \' et donc en dehors d'une chaine javascript ou les 2 ? dans ce cas il te faut 2 données XML avec ett sans caractère d'échapement.
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
J'ai effectivement résolu le problème en ayant 2 valeurs (une pour l'affichage et l'autre pour le javascript). Ca fonctionne très bien maintenant.
Un grand merci pour ton aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com