Bonjour,
Mon problmème est le suivant.
J'ai un formulaire dont une partie est complétée par une fonction php qui affiche les résultats d'une requête :
Via une fonction AJAX, je désire enregistrer ces résultats qui auront préalablement étés complétés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for($i = 0; $i < $num_result; $i++) { $row = mysql_fetch_array($resultat); echo "<tr height='5%'> <td id='tdcontenu'><input type='text' name='ordreProd[$i]' id='ordreProd' value='$row[1]' size='4' onchange='verifNombre(this)'><input type='hidden' name='cleProd[$i]' 'id='cleProd' value='$row[0]'></td> <td id='tdcontenu'>$row[2]</td> <td id='tdcontenu'>$row[3]</td> <td id='tdcontenu'><input type='text' name='requiredquantite[$i]' id='quantite' value='' size='4' onchange='verifNombre(this)'></td> </tr>"; }
Cette fonction envoie donc à un script php 6 variables dont 3 tableaux.
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function enregInv() { xhrEnrInv = getXhr(); xhrEnrInv.onreadystatechange = function() { if(xhrEnrInv.readyState == 4 && xhrEnrInv.status == 200) { document.getElementById('erreur').innerHTML = xhrEnrInv.responseText; } } xhrEnrInv.open("POST",'../transferts/ajaxEnregInv.php',true); xhrEnrInv.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); leJour = document.getElementById('jour'); jour = leJour.options[leJour.selectedIndex].value; leMois = document.getElementById('mois'); mois = leMois.options[leMois.selectedIndex].value; lannee = document.getElementById('annee'); annee = lannee.options[lannee.selectedIndex].value; var cleProd = new Array(); var ordreProd = new Array(); var quantite = new Array(); for(cpt = 1; cpt <=10; cpt++) { cleProd[cpt] = document.getElementsByName('cleProd[cpt]').value; ordreProd[cpt] = document.getElementsByName('ordreProd[cpt]').value; quantite[cpt] = document.getElementsByName('quantite[cpt]').value; } xhrEnrInv.send("jour="+jour+"&mois="+mois+"&annee="+annee+"&cleProd="+cleProd+"&ordreProd="+ordreProd+"&quantite="+quantite); }
Ce sont notemment ces 3 tableaux qui me posent problème lors du traitement : je ne parviens pas à traiter leur contenu. Si, dans mon script php, j'effectue :
ça m'affiche 3 virgules.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $cleProd = $_POST['cleProd']; $ordreProd = $_POST['ordreProd']; $quantite = $_POST['quantite']; echo $cleProd[1] . $ordreProd[1] . $quantite[1];
Si je fais un echo d'une des variables POST, ça m'indique objet HTMLCOLLECTION.
Malgré mes recherches, je ne vois pas comment traiter ce type d'objet.
Quelqu'un pourrait-il m'aider?
Merci d'avance.
Christophe
Partager