[php][js] Problème pour faire passer des variables contenant des ' dans une fct

takinelinfo Messages postés 13 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 1 juillet 2008 - 5 avril 2008 à 20:18
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 - 5 avril 2008 à 21:45
Bonjour,

J'ai actuellement un gros soucis entre le PHP et le JS.
Mon but est de faire passer du contenu PHP dans ma fonction JS. J'ai un tableau avec du texte que je désire utiliser dans le js.
Je fais donc un truc du genre.
<?php
$tabErreur[0]= "Impossible de lacher le combustible, l'arrivée est imminante";
$tabErreur[1]="............";

$lien='[# Display]';
?>

Le problème est le suivant:
Si ma variable contient des ' comme $tabErreur[0], ma  fonction js ne marche pas.

Comment puis je  faire pour faire passer le texte sans problème?
J'avais pensé au addslashes mais comment je fais pour les enlever dans ma fonction js?

function mafunction(liste)
{
   var tabStaticErreur =split('|',liste);
   var tabErreur= new Array();
 
   if(document.getElementById('force').value="")
      tabErreur.push(tabStaticErreur[0]);
  
   if(document.getElementById('derive').value="")
      tabErreur.push(tabStaticErreur[1]);
 
  ...............
  for(....)
     alert(tabErreur[i]);
}

Je ne veux pas que mon alert m'affiche des truc du genre "Impossible de lacher le combustible, l\'arrivée est imminante".
Merci d'avance.

4 réponses

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 1
5 avril 2008 à 21:40
Salut,

Pour corriger ça échappe tes ' avec des antislashes.

$tabErreur[0]= "Impossible de lacher le combustible, l \ 'arrivée est imminante"; par exemple.

Tu peux aussi faire

$lien ='[# Display]';

PS: Je vois vraiment, mais vraiment pas pourquoi tu fais explode('|',$tabErreur), explode retourne un array qui est inutilisable dans le contexte ici il me semble...

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
5 avril 2008 à 21:41
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 1
5 avril 2008 à 21:42
Au fait, tu donnais la solution dans ta question:

Je ne veux pas que mon alert m'affiche des truc du genre "Impossible de lacher le combustible, l\'arrivée est imminante".

Si tu fait juste un antislash javascript va l'échapper et garder juste l'apostrophe il me semble

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 1
5 avril 2008 à 21:45
Ah ouais avec le commentaire de juki_webmaster je comprends un peu mieu ou tu voulais en venir avec ton explode , mais alors ça devrait être un implode et pas un explode quand même.

Erf, j'aurais dû tout lire attentivement avant de poster, histoire de pas poster 3 fois de suite

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0