Bonjour petroleteam,
je tiens à te remercier pour avoir pris le temps de te pencher sur mon problème.Mille merci! j'ai trouvé une solution avec l'aide d'un ami et d'un tuto depuis mais j'ai un autre souci
voila la fonction qui m'a permis de resoudre ce problème:
function Reporter(l) {
var list = document.getElementById('liste').options[document.getElementById('liste').selectedIndex].text;
/*alert(list);*/
var long = list.length;
/*alert(long);*/
var delim= list.indexOf(" ",0);
/*alert(delim);*/
var refer = list.substring(0,delim);
/* alert(refer);*/
var suivant = delim+1;
/* alert(suivant);*/
var delimi = list.indexOf(" ",suivant);
/* alert(delimi);*/
var desi1 = list.substring(suivant,delimi);
/*alert(desi1);*/
var suivant = delimi+1;
/*alert(suivant);*/
var delimit = list.indexOf(" ",suivant);
/* alert(delimit);*/
var desi2 = list.substring(suivant,delimit);
/*alert(desi2);*/
var design = desi1+desi2;
/*alert(design);*/
var suivant = delimit+1;
var prix = list.substring(suivant,long);
/* alert(prix);*/
window.opener.document.getElementById('reference').value += refer;
window.opener.document.getElementById('designation').value = desi1+desi2;
window.opener.document.getElementById('puht').value += prix;
/*window.opener.document.getElementById('pu').value +=document.getElementById('liste').options[document.getElementById('liste').selectedIndex].value +';';
*/
}
Mon souci actuel est:
je dispose d'un formulaire avec des champs textes et une liste(type de produit) qui ouvre une popup qui contient aussi une liste(reference designation prix) .Lorsque je selectionne une ligne dans la popup, les informations viennent se loger dans les champs textes respectifs sur le formulaire et après le choix de la remise se crée une nouvelle ligne vierge dans le formulaire .Lorsque je selectionne un autre element de la liste du popup, les enregistrements ne se logent pas dans les champs de la deuxième ligne mais plutot la première.
Je voudrais qu'après la selection d'une seconde ligne dans la popup, une autre ligne de champ se crée sur le formulaire avec les enregistrements selectionnés.C'est un véritable souci pour moi car je découvre à peine javascript et je ne sais comment resoudre ce problème.Aidez moi svp , suis en galère!
code du formulaire
//liste du formulaire
<td>
<select name="type_produit">
<option value="" selected="selected">-- Sélectionnez un type de produit --</option>
<?php
// Fonction de connexion à la base de données
connexion_DB('facturation');
$sql = "SELECT * FROM type_produit";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."' onClick=\"OuvrirPopup('/gestion_facturation/proforma/list_pro_serveur.php','liste','widtd=400,height=200,menubar=no,status=no,left=5,top=5')\">".$donnees->appelation."</option>";
}
?>
</select>
</td>
//champ texte du formulaire
<table id = "table" border="0" align="left" cellspacing="1" cellpadding="0">
<tr>
<td><font color="#CC3300">Reference</font></td>
<td><font color="#CC3300">Designation</font></td>
<td><font color="#CC3300">Quantite</font></td>
<td><font color="#CC3300">PUHT</font></td>
<td><font color="#CC3300">Remises</font></td>
<td><font color="#CC3300">Remise</font></td>
<td><font color="#CC3300">Tva/produit</font></td>
<td><font color="#CC3300">Prix TTC/produit</font></td>
</tr>
<tr>
<td><input type ="text" size="12" name="reference" id="reference" ></td>
<td><input type ="text" size="30" name="designation" id="designation" ></td>
<td>
<select name="qte" id="qte"><?php $fin= 1000; echo "<option selected>---</option>";for ($i=1; $i<=$fin; $i++){
echo "<option>$i</option>";
echo "<br/>";
}
?>
</select>
</td>
<td>
<input type ="text"size="16" name="puht" id="puht">
</td>
<td>
<select name="liste_remise" onchange="recupSelection(this, this.form.remise)" >
<?php
$fin= 100;
echo "<option selected>----</option>";
for ($i=0; $i<=$fin; $i +=5){
echo "<option>$i</option>";
echo "<br/>";
}
?>
</select>
<td>
<input type="text" size="3" id ="remise" name="remise" value="" />
</td>
</td>
<td>
<input type ="text" size="16" name="tva_produit" id = "tva_produit">
</td>
<td>
<input type ="text" size="16" name="ttc_produit" id = "ttc_produit">
</td>
</tr>
</table>
//code javascript permettant de créer la ligne sans les enregistrements
<SCRIPT>
function recupSelection(src, dest)
{
var valeur = src.options[src.selectedIndex].value;
if (valeur = '')
return;
dest.value = src.options[src.selectedIndex].value;
src.selectedIndex = 0;
var nouvelign = document.getElementById('table').insertRow(-1);
var newCell = nouvelign.insertCell(0);
newCell.innerHTML = '<input type ="text" size="12" name="reference" id="reference" >';
var newCell = nouvelign.insertCell(1);
newCell.innerHTML = '<input type ="text" size="30" name="designation" id="designation" >';
var newCell = nouvelign.insertCell(2);
newCell.innerHTML = '<select name="qte" id="qte"> <?php $fin= 1000; echo "<option selected>---</option>"; for ($i=1; $i<=$fin; $i++){ echo "<option>$i</option>";echo "<br/>"; } ?> </select>';
var newCell = nouvelign.insertCell(3);
newCell.innerHTML = '<input type ="text" size="16" name="puht" id="puht" >';
var newCell = nouvelign.insertCell(4);
newCell.innerHTML = '<select name="liste_remise" onchange="recupSelection(this, this.form.remise)"> <?php $fin= 100; echo "<option selected>----</option>"; for ($i=0; $i<=$fin; $i +=5){ echo "<option>$i</option>"; echo "<br/>"; } ?> </select>';
var newCell = nouvelign.insertCell(5);
newCell.innerHTML = '<input type="text" size="3" id ="remise" name="remise" value="" />';
var newCell = nouvelign.insertCell(6);
newCell.innerHTML = '<input type ="text" size="16" name="tva_produit" id = "tva_produit">';
var newCell = nouvelign.insertCell(7);
newCell.innerHTML = '<input type ="text" size="16" name="ttc_produit" id = "ttc_produit">';
}
</SCRIPT>
Merci pour votre aide