Bonjour,
J'ai une fenêtre popup contenant une liste d'éléments qui s'ouvre lorsqu'on clique sur une case et après la sélection d'un élément de la liste il s'affiche dans le textarea de la fenêtre mère.mon problème est que quant bien même que les données s'affichent dans le textarea de la fenêtre mère, lorsque je tente de les envoyer l'erreur suivante se produit Notice: Undefined index: composant in C:\Program Files\EasyPHP-5.3.2i\www\gestion\produit\form.php on line 14
ci dessous le code
fenêtre mère:
<head>
<SCRIPT type="text/JavaScript">
function OuvrirPopup(page,nom,option) {
window.open(page,nom,option);
}
</SCRIPT>
</head>
<FORM name='produit'METHOD="POST" ACTION="/gestion_facturation/index.php?id=3">
<table border="0" align="left" >
<div align ="left">
<tr align="left">
<td><font size="4" color="#0000CC">Marque du produit</font></td>
<td>
<select name="marque">
<?php
// Fonction de connexion à la base de données
connexion_DB('facturation');
$sql = "SELECT * FROM marque_produit order by nom";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."'>".$donnees->nom."</option>";
}
?>
</select>
</td>
</tr>
<tr align="left">
<td><font size="4" color="#0000CC">Type du produit</font></td>
<td>
<select name="type">
<?php
// Fonction de connexion à la base de données
connexion_DB('facturation');
$sql = "SELECT * FROM type_produit order by appelation";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."'>".$donnees->appelation."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td><font size="4" color="#0000CC">Désignation</font></td>
<td><input type="text" name="designation"></td>
</tr>
<tr>
<td><font size="4" color="#0000CC">Reference</font></td>
<td><input type="text" name="reference"></td>
</tr>
<tr>
<td><font size="4" color="#0000CC">Numero_serie</font></td>
<td><input type="text" name="numero"></td>
</tr>
<tr align="left">
<td><font size ="4" color ="#0000CC">Type de composant</font></td>
<td>
<?php
// Fonction de connexion à la base de données
connexion_DB('facturation');
$req=mysql_query("select * from type_composant order by nom asc");
$total= mysql_num_rows($req);
if($total) {
while($data = mysql_fetch_array($req)) //( c'est pour te donner les résultats ligne par ligne )
{
$nom=$data['nom'] ; $id=$data['id'];
echo '<input type="checkbox" name="type_composant[]" value="',$id,'" onClick=\'OuvrirPopup("/gestion_facturation/produit/test.php","liste","width=300,height=150,menubar=no,status=no")\'/>' ;
echo $nom;
echo '</br>';
}
}
?>
</td>
</tr>
<tr align="left">
<td><font size=" 4"color="#0000CC">Composants</font></td>
<td><textarea type="text" id="composant"name="composant" cols="40" rows="10" disabled></textarea></td>
</tr>
<div align="center">
<tr align="center">
<td><input type = "submit" value= "valider" ></td>
</tr>
</div>
</div>
</table>
</FORM>
fenêtre popup
<HTML>
<HEAD>
<TITLE>Popup de choix</TITLE>
<SCRIPT language="javascript">
//D'autres scripts sur http://www.toutjavascript.com
//Si vous utilisez ce script, merci de m'avertir ! < webmaster@toutjavascript.com >
function Reporter(l) {
window.opener.document.getElementById('composant').value += document.getElementById('liste').options[document.getElementById('liste').selectedIndex].value;
alert('vous venez de selectionner un element');
}
</SCRIPT>
</HEAD>
<CENTER><BR><BR>
<FONT SIZE="2" COLOR="navy" face=arial>
Faites votre choix dans cette liste. <BR>
<FORM>
<SELECT name="liste" id="liste" onChange="Reporter(this)">
<tr align="left">
<td><font size="4" color="#0000CC">Composants</font></td>
<td>
<?php
//connection au serveur:
$connect = mysql_connect( '127.0.0.1', 'root', '' );
//sélection de la base de données:
mysql_select_db('facturation',$connect) ;
$sql = "SELECT * FROM composant_produit order by libelle";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."'>".$donnees->libelle."</option>";
}
?>
</td>
</tr>
</select>
</FORM>
</FONT>
</CENTER>
</BODY></HTML>
merci d'avance