Apostrophe en JavaScript

Résolu/Fermé
hasan Messages postés 30 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 8 mars 2006 - 8 nov. 2004 à 12:15
 pk - 14 déc. 2010 à 12:02
Bonjour,

Je galere sur un point.

J'ai un input text avec un appel de fonction sur le onChange.
Je passe en parametre une valeur qui peut contenir une apostrophe, d'ou le probleme.

J'aurais besoin d'un convertisseur pour pouvoir transformer mes ' en \'. Addslashes le fait mais c coté serveur non? Il me le faudrait en javascript et pouvant etre effectuée juste avant mon onChange.

Merci de m'aider.

6 réponses

escape ne permet pas d'échapper les apostrophes !!!
Alors pourquoi la mauvaise réponse est marqué comme celle qui résout le pb ???
8
j'ai oublié un point:
document.formulaire.NOMINPUT.value.split("'").join("\'");
4
slt,
moi g u le meme pb (je construis des requetes en javascript que je balance a php) et avec le .split("'").join("\'"); ca marche nikel.
Pour remplacer des " il faut faire .split("\"").join("\\\"");
0
Bonjour tout le monde,
perso je cherche une fonction qui soit capable de me remplacer tous les caractères spéciaux par sont équivalent utf8...les accents, mais aussi les apostrophe et autre caractères d'échapement...quelqu'un à t'il ca sous la main ?

merci
Aurélien
0
C'est moi qui ne suis pas doué ou ça ne marche pas ?

Je précise que je ne suis pas très doué en JavaScript

1° Je récupère les données dans une variable

var titrefromdb = resultat.getAttribute('titre');
(il s'agit d'un parsing d'XML)


titrefromdb.split("'").join("\'");

Ne fais rien du tout

3° Même chose pour

titrefromdb.split("\"").join("\\\"");

Pouvez vous m'aider ?
0
slooptoo > Thibault
27 nov. 2006 à 17:58
split + join = berk (desole mais bon)
utiliser replace...
titrefromdb = titrefromdb.replace(/'/g,"\\'");

petite explication
/'/g est une expression reguliere 'identifiant' tous les caracteres ' du string "g" signifiant "global"
on remplace donc chaque quote par \\'
"\\" parce que "\" est un caractere d echappement donc il faut lui meme l echapper... c est pas clair du tout... difficile d expliquer ca
0
La bonne solution :

function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch
}
0
j'ai eu un problème un peu similaire (réception d'une valeur dans un tag sur lequel je n'ai pas la main et dans lequel il y a une apostrophe). Je n'avais pas à le passer en paramètre à une fonction mais je pense que tu devrais essayer de passer en paramètre à ta fonction:
document.formulaire.NOMINPUT.valuesplit("'").join("\'");

Merci de faire un retour si ça fonctionne
2
mathias_duc Messages postés 13 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 10 février 2010 1
9 févr. 2010 à 18:06
escape?
les guillemets ne fonctionne pas pour moi :'/
et comment conserver des retour chariot
et éviter des beugue si on a des crochet comme: > .
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
voir de près escape et/ou unescape
0
L'utilisation de la fonction escape resout parfaitement ce problème
0