Apostrophe en javascript

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 9 oct. 2013 à 13:05
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 9 oct. 2013 à 13:29
Bonjour,

Voici mon problème.
Je récupère en PHP les données d'une table.
avec le javascript, je dois afficher ces même données. Seulement le problème se pose sur les apostrophes.

Dans mon code, j'ai ceci:
<Script language="JavaScript">
function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch}
function Desi(message,champ){if(document.getElementById) document.getElementById(champ).innerHTML = message;}
function Desc(message,champ){if(document.getElementById) document.getElementById(champ).innerHTML = message;}
</Script>

et dans mon
onMouseOver="
Desi('<?php echo utf8_encode($data['Designation']); ?>','Desi');
Desc('<?php echo utf8_encode($data['Description']); ?>','Desc');

Je pensais que :
function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch}

Corrigerait le problème mais je me suis trompé je penses...
Vous avez une idée svp ?

1 réponse

Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
9 oct. 2013 à 13:29
désolé, j'ai compris !
Le problème ne venait pas de javascript mais de PHP

Remplacer cette ligne :
Desi('<?php echo utf8_encode($data['Designation']); ?>','Desi');
Par celle-ci :
Desi('<?php echo addslashes(utf8_encode($data['Designation'])); ?>','Desi');
0