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] Methode post remplace + par espace


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 17
    Points : 16
    Points
    16
    Par défaut [AJAX] Methode post remplace + par espace
    Bonjour,

    Voila je transfert un formulaire par methode post via ajax.

    code (attention c un extrait de ma classe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function(formulaire) {
     // On crée une variable pour stocker le contenu de la zone de saisie
        for(i=0;i<document.forms[formulaire].elements.length;i++)
        {
          elem_type=document.forms[formulaire].elements[i].type;
          if(elem_type=="radio" || elem_type=="checkbox")
          {
            if (document.forms[formulaire].elements[i].checked==true)
            {
              if(datas!="") datas+="&";
              datas +=document.forms[formulaire].elements[i].name+"="+escape(document.forms[formulaire].elements[i].value);
            }
          }
          else
          {
            if(datas!="") datas+="&";
            datas +=document.forms[formulaire].elements[i].name+"="+escape(document.forms[formulaire].elements[i].value);
          }
     }
    Puis :
    conn.open("POST", Url, mode);
    conn.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
    conn.send(datas);


    J'ai un textarea qui contient des signes "+" et bien lors de la methode send d'ajax il me retourne a priori bien le signe "+" mais a la reception cote php j'ai un espace. Je test sous IE.
    Comprend pas pourquoi.

    Merci de votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    J'ai trouve la soluce.
    Le signe "+" doit etre codé de cette maniere pour pouvoir etre correctement traite :
    var content = escape(document.forms[formulaire].elements[i].value);
    content = content.replace(/\+/g, '%2B');



    Voila,
    affaire resolu donc

Discussions similaires

  1. plus (+) remplacé par un espace aprés un post request !
    Par jesslegende dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2011, 15h12
  2. Réponses: 2
    Dernier message: 15/07/2009, 16h26
  3. Methodes Date remplacer par Calendar
    Par Invité(e) dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 12/06/2008, 15h47
  4. remplacer des espaces dans un champ par des zero
    Par yeep dans le forum Access
    Réponses: 4
    Dernier message: 08/10/2004, 09h41
  5. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03

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