Envoyer plusieurs variables dans le open [Résolu]

Signaler
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
-
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
-
Bonjour,
Voila j'aimerai pouvoir envoyer grâce au javascript dans une page php deux variables.

voici un extrait du code contenant mon formulaire :
<form name="goOrder<? echo"$i"; ?>" enctype="multipart/form-data" method="post" action="requeteDetailClient.php">
  <table width="770" border="0">
    <tr> 
      <td width="356">
nom du client 
</td>
      <td class="Style9">
      </td>
    </tr>
    <tr> 
      <td width="356">
pr&amp;eacute;nom du client 
        
</td>
      <td class="Style9"></td>


sur le changement du nom, j'accède à mon code javascript,
function requete(f)
    {
    var id = f.id.value
    var xhr;
    if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
    else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
    else
        {
        alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
        return;
        }
    xhr.open('POST', 'requeteDetailClient.php', true);
    xhr.onreadystatechange = function()
        {
        if (xhr.readyState == 4)
            {
                var texte = xhr.responseText;
                var tab = texte.split('|');                
                                document.getElementById('lieu').value = tab[0];
                document.getElementById('entreprise').value =tab[1];
                document.getElementById('adresse1').value = tab[2];
                

            }
        }
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
     var data = 'id='+escape(id);
    xhr.send(data);
    }

mais lorsque je suis sur ma page requeteDetailClient.php je ne trouve pas de valeur pour la variable $pnom $_Post['pnom'] alors que j'ai bien un résultat pour $nom $_Post['id'].

Je ne comprends pas trop pourquoi, si quelqu'un veut bien me donner un coup de main

6 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,

ça dépend de ce que tu envoies dans le send ( si ajax et POST )

xhr.send("pnom=valeur&id=autre");
coté php on utilise $_POST['pnom"]  et $_POST['id']

Cordialement [mon Site] [M'écrire] Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
var data = 'id='+escape(id);
var data2 = 'commande='+escape(commande);
je veux bien
_ mais en php tu vas donc utiliser $_POST['id'] et $_POST['commande'] !
_ f.commande.value n'existe pas
_ il te manque </form>
@+
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
j'ai oublié :
  xhr.send(data&data2);
à mon humble avis, on doit te signaler une erreur de syntaxe
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

problème résolue
'&pnom='+taVarPnom;
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

en faite c'est pas encore bon, j'ai compris que je n'avais pas fait ce qu'il fallait dans mon code javascript cependant même en fesant ce code ci-dessous je ne trouve aucun résultat :

f corresponds à thisform

function requete(f)
    {
    var id = f.id.value
    var commande = f.commande.value
...

    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
     var data = 'id='+escape(id);
    var data2 = 'commande='+escape(commande);
    xhr.send(data&data2);
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

c'est bon tout marche j'ai fait sa =

var data='id='+escape(id)+'&commande='+commande;
    xhr.send(data);

merci beaucoup