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

JavaScript Discussion :

[AJAX] AJAX et POST de plusieurs éléments dont une chaine contenant des caractères spéciaux


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [AJAX] AJAX et POST de plusieurs éléments dont une chaine contenant des caractères spéciaux
    Tout d'abord, bonjour à tous,

    Ce n'est pas mon habitude que de demander de l'aide dans les forums, mais la j'ai vraiment tout essayé.

    J'utilise dans un formulaire une RichTextBox TinyMCE (http://tinymce.moxiecode.com/index.php & http://wiki.moxiecode.com/index.php/TinyMCE:Index pour la doc).
    Ce formulaire doit faire passer les données en POST (le problème est malheureusment le même pour GET).

    Le problème: La richtextbox de TinyMCE convertit les caractères qu'elle contient en htmlentities DIRECTEMENT.. Donc quand j'écris "<" elle écrit "&lt;".

    Jusque là, vous me suivez?

    Donc quand le moment fatidique de l'envoie de requete arrive:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var data = "info1=" + document.getElementById('info1').value + "&info2="+ ChaineProblematique;
    Obj.send(data);
    Mais oui... vous l'avez bien comprit.. quand j'arrive sur mon script en PHP le tableau de POST devient:
    info1=UneInformation&info2=Salut&lt;Style&rt;etc (en imaginant que le contenu de la chaine était en fait "Salut<Style>etc").

    En gros, je peux récuperer en post $_POST['info2'] mais elle ne contiendra que
    "Salut" vu que après "Salut" il y'a un "&" que l'interpreteur PHP prend pour une séparation entre deux variables POST...

    Ca devient problèmatique.. vu que ca devait servir à mettre en forme les news..

    Je vous supplie de me donner une solution

    C'est peut-être possible avec la fonction escape() du javascript.. Mais une fois echapé en javascript, comment le désechaper dans mon script PHP?

    RESUME, EXEMPLE:
    valeur1 = "<style>font-color:red;</style>"
    tinyMCE la transforme directement en "&lt;style&rt;font-color:red;&lt;/style&rt;"

    donc "document.getElementById('valeur1').value" me renvoie "&lt;style&rt;font-color:red;&lt;/style&rt;"

    quand je créé ma chaine de data:
    data = "op=STYLE&valeur1="+valeur1;
    ou
    data = "op=STYLE&valeur1="+ "&lt;style&rt;font-color:red;&lt;/style&rt;";
    et donc
    data = "op=STYLE&valeur1=&lt;style&rt;font-color:red;&lt;/style&rt;";
    et donc au niveau du PHP:
    $_POST['valeur1'] = "";

    Voila, on ne peux pas être plus clair sur mon problème... et franchement, c'est tellement clair que j'ai l'impression qu'en fait il n'existe pas de solution x:

    ... Ce qui est possible aussi c'est que la solution est juste devant mon nez..

    Merci en tout cas..

    Cordialement, LiioR.
    Merci d'avance !


    [EDIT]: En fait ce qu'il faudrait, c'est un autre moyen d'envoyer les données que en les séparant avec un "&"... Oui je sais, on peut rêver

    [EDIT 2]: J'ai trouvé un moyen de le faire en bidouillant...
    Lorsque je prend la valeur du tinyMCE, et que je la met en innerHTML d'un element, je peux récuperer cet innerHTML qui lui est compatible avec une requete POST...

    Bref, c'est que du bidouillage..

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    escape
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

Discussions similaires

  1. [Python 3.X] Supprimer éléments d'une liste contenant un caractère donné
    Par algerino77 dans le forum Général Python
    Réponses: 4
    Dernier message: 24/11/2016, 23h37
  2. Plusieurs éléments dans une collection d'objets
    Par soso78 dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/09/2008, 17h23
  3. [AJAX] Gestion des caractères spéciaux
    Par CrazySeb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/05/2007, 09h43
  4. [AJAX] Affichage des caractères spéciaux
    Par mitmit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/04/2007, 13h47
  5. Selection plusieurs éléments d'une liste
    Par popo68 dans le forum Access
    Réponses: 3
    Dernier message: 01/02/2007, 17h01

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