Page 1 sur 1

Php/Javascript transmission de données

Posté : 23 janv. 2012, 17:39
par i20
Bonjour!
J'ai quelques soucis pour transmettre des données entre Php et Javascript...
Je vous explique:
- J'ai un fichier php qui permet de créer un formulaire classique
- Pour permettre de d'ajouter dynamiquement j'ai un script Javascript qui permet de rajouter des lignes au document, et par conséquent à l'utilisateur de rajouter des infos
- J'envoi avec la méthode POST les infos à une autre page php, afin d'effectuer le traitement et de rajouter les infos dans une base de données

Mon problème est que je n'arrive pas a récupérer les variables dans mon fichier php de traitement des données...

Voici une petite partie du code afin de vous montrer comment je gère cela pour l'instant:
CODE PHP:
$uploadForm .= "<div id='formborder2'><div><label for='name'>Name</label> <input name='name' id='name' type='text' /></div>";
--> Cela fonction, j'ai mes données dans la variable $_POST['fabricAmount']

CODE JavaScript:

Code : Tout sélectionner

var inputNamebis = document.createElement("input"); inputNamebis.setAttribute("type", "text"); inputNamebis.setAttribute("name", "shapeName[]"); inputNamebis.setAttribute("value", ""); Colonne.appendChild(inputNamebis );
Pour l'instant je peux rajouter des infos, les lignes s'ajoutent correctement, je peux taper ce que j'ai a récupérer, mais je n'arrive pas à récupérer les variables...

Voila, j'espère que c'était à peu près clair!
Merci d'avance,
i20

Re: Php/Javascript transmission de données

Posté : 23 janv. 2012, 17:44
par xTG
Normalement du moment que ton élément soit à l'intérieur de la balise form et qu'il soit correctement généré il devrait pas y avoir de souci.
As-tu tenté d'afficher l'array $_POST ? De vérifier le code html généré avec Firebug ?

Re: Php/Javascript transmission de données

Posté : 23 janv. 2012, 17:49
par i20
Merci de ta réponse,
J'ai essayé le mode debug avec NetBeans, mais mes variables crées par Javascript n'apparaissent pas dans $_POST.
Je vois uniquement les variables créés de manière "classique" dans mon fichier php.

Re: Php/Javascript transmission de données

Posté : 23 janv. 2012, 17:52
par xTG
Regardes le code HTML généré dans ce cas, il t'apportera peut être l'illumination.

Re: Php/Javascript transmission de données

Posté : 23 janv. 2012, 18:02
par i20
Je viens de regarder le code généré, j'obtiens ceci:
<form id="form1" enctype="multipart/form-data" method="post" action="garmentAdd.php">
<div id="formborder2">
<br>
<div id="fsUploadProgress" class="fieldset flash">
<div>
<div id="fsUploadProgress2" class="fieldset flash">
<div>
<input id="tabFile" type="hidden" value="" name="tabFile">
<div id="fsUploadProgress4" class="fieldset flash">
<div>
<div id="fsUploadProgress3" class="fieldset flash">
<div>
<div id="fsUploadProgressCus" class="fieldset flashCus">
<span class="legend">Customization Garments Parts</span>
<label for="garment_cus_description">
Count of Garment Parts
<input id="garmentPartsamount" type="text" value="0" name="garmentPartsamount">
<input id="IncreaseCount" type="button" style="margin-left: 2px; font-size: 10pt; " onclick="AddPartForm();" value="Increase Count">
</label>
<form method="POST" name="bodyForm" enctype="multipart/form-data">
Garment PARTS NAME
<input type="text" name="bodyPartsName[]" value="">
<br>
<input type="button" value="AddColor">
<input type="text" name="colorAmount[]" value="0">
<input type="button" value="AddFabric">
<input type="text" name="fabricAmount[]" value="0">
<table cellspacing="0" cellpadding="0" border="1" width="590">
<tbody>
<tr>
<td>
Fabric NAME
<input type="text" name="fabricName[]" value="">
<br>
JPG File
<input type="file" name="fabricFileName[]">
<br>
ICON
<input type="file" name="fabricICONName[]">
</td>
</tr>
</tbody>
<tbody>
<tr>
<td>
Fabric NAME
<input type="text" name="fabricName[]" value="">
<br>
JPG File
<input type="file" name="fabricFileName[]">
<br>
ICON
<input type="file" name="fabricICONName[]">
</td>
</tr>
</tbody>
</table>
</form>
<form method="POST" name="bodyForm" enctype="multipart/form-data">
</div>
<input id="bodyPartsName" type="hidden" value="" name="bodyPartsName">
<input id="fabricAmount" type="hidden" value="" name="fabricAmount">
<br>
<div id="fsUploadProgressCus2" class="fieldset flashCus">
<input id="GradesName" type="hidden" value="" name="GradesName">
<br>
<div>
</form>
Etes-ce que vous voyez quelque chose qui saute aux yeux?? (la partie Fabric NAME fait est généré par Javascript par exemple)

Re: Php/Javascript transmission de données

Posté : 23 janv. 2012, 18:29
par xTG
Bon hormis le fait que ce code HTML passerai surement pas dans un validateur W3C.
Tu as une balise form ouverte qui n'est jamais fermée :
<form id="form1" enctype="multipart/form-data" method="post" action="garmentAdd.php">
Ce qui fait que tu as un form dans un form et ça cela ne peut que foutre le tintouin.

Re: Php/Javascript transmission de données

Posté : 24 janv. 2012, 11:32
par i20
J'ai finalement résolu mon problème en utilisant un unique formulaire, du coup je peux correctement récupérer mes données :)
Merci pour le coup de main!