Bonsoir à tous,
J'ai un formulaire contenant une liste déroulante permettant d'ouvrir une fenêtre popup dans laquelle une fois un choix opéré, une ligne de tableau apparait sur le formulaire(fenêtre ouvrante).j'ai pu réaliser cela grâce à votre aide car je ne connais pas grand chose en javascript mais je dois générer des lignes de tableau permettant de saisir plus d'un produit dans un devis.Ma difficulté est comment renseigner les colonnes reference, designation et prix de ma ligne générée lors de sa selection dans la popup.
Aidez moi svp car je suis vraiment en galère!
voilà le code du formulaire
<html>
<head>
<script language="javascript">
function OuvrirPopup(page,nom,option) {
ff = window.open(page,nom,option);
if (ff && ff.focus)
ff.focus();
}
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 qte = document.getElementById('qte').value;
var puht = document.getElementById('puht').value;
var remise = document.getElementById('remise').value;
var thtva = puht*qte* (1- (remise/100));
var val_tva_produit = thtva * 0.18;
var tva_produit = document.getElementById('tva_produit').value = val_tva_produit;
var val_ttc_produit = thtva + val_tva_produit;
var ttc_produit = document.getElementById('ttc_produit').value = val_ttc_produit;
var val_total_ht = 0;
var val_total_ht = val_total_ht + thtva ;
alert(val_total_ht);
var total_ht = document.getElementById('total_ht').value = val_total_ht;
var val_tva_fact = total_ht * 0.18;
var tva_fact = document.getElementById('tva').value = val_tva_fact;
var net = document.getElementById('net_a_payer').value = total_ht + tva_fact;
}
</SCRIPT>
</HEAD>
<BODY style="margin:0px" >
<FORM NAME = "formulaire" METHOD="POST" ACTION="">
<table border="0" >
<tr align="left">
<td>
<font color="#CC3300">Type de produit</font>
</td>
<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('base');
$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>
</tr>
<tr align="left">
<td>
<font color="#CC3300">Client</font>
</td>
<td>
<select name="client">
<?php
// Fonction de connexion à la base de données
connexion_DB('base');
$sql = "SELECT * FROM client";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."'>".$donnees->nom."</option>";
}
?>
</select>
</td>
</tr>
<table id = "table" border="0" align="left" cellspacing="1" cellpadding="0"></table>
<table border="0" cellspacing="1" cellpadding="0" >
<tr>
<td><font color="#CC3300">Total hors taxe</font></td>
<td><font color="#CC3300">Tva 18%</font></td>
<td><font color="#CC3300">Net a payer</font></td>
<tr>
<td><input type ="text" size="20" id ="total_ht" name="total_ht"></td>
<td><input type ="text" size="20" id ="tva" name="tva"></td>
<td><input type ="text" size="20" id ="net_a_payer" name="net_a_payer"></td>
</tr>
</table>
</table>
</FORM>
</BODY>
</HTML>
et celui de la fenêtre popup
<HTML>
<HEAD>
<TITLE>popup des produits</TITLE>
<SCRIPT language="javascript">
var num = 0;
function Ajout(){
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);
var ligne = window.opener.document.getElementById('table').insertRow(-1);
var colonne = ligne.insertCell(0);
colonne.innerHTML = 'Prdt'+num+'<input type ="text" size="12" name="reference_ '+num+'" id="reference_'+num+'" >';
var colonne = ligne.insertCell(1);
colonne.innerHTML = '<input type ="text" size="30" name="designation_'+num+'" id="designation_'+num+'" >';
var colonne = ligne.insertCell(2);
colonne.innerHTML = '<select name="qte_'+num+'" id="qte_'+num+'"> <?php $fin= 1000; echo "<option selected>---</option>"; for ($i=1; $i<=$fin; $i++){ echo "<option>$i</option>";echo "<br/>"; } ?> </select>';
var colonne = ligne.insertCell(3);
colonne.innerHTML = '<input type ="text" size="16" name="puht_'+num+'" id="puht_'+num+'" >';
var colonne = ligne.insertCell(4);
colonne.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 colonne = ligne.insertCell(5);
colonne.innerHTML = '<input type="text" size="3" id ="remise_'+num+'" name="remise_'+num+'" />';
var colonne = ligne.insertCell(6);
colonne.innerHTML = '<input type ="text" size="16" name="tva_produit_'+num+'" id = "tva_produit_'+num+'">';
var colonne = ligne.insertCell(7);
colonne.innerHTML = '<input type ="text" size="16" name="ttc_produit_'+num+'" = "ttc_produit_'+num+'">';
num++;
}
</SCRIPT>
</HEAD>
<body>
<CENTER><BR><BR>
<FONT SIZE="2" COLOR="navy" face=arial>
<FORM>
<SELECT name="liste" id="liste" onChange="Ajout()" >
<option value="" selected="selected">-- Sélectionnez une valeur --</option>
<tr align="left">
<td>
<?php
//connection au serveur:
connexion_DB('base') ;
/*$sql = "SELECT *
FROM produit p
WHERE reference like 'S%'
ORDER BY reference";
$query = mysql_query($sql);*/
$sql = "SELECT *
FROM produit
WHERE reference like 'S%'";
$query = mysql_query($sql);
while($donnees = mysql_fetch_object($query))
{
echo "<option value='".$donnees->id."'>".$donnees->reference." ".$donnees->designation." ".$donnees->prix_unitaire." </option>";
}
?>
</td>
</tr>
</select>
</FORM>
</FONT>
</CENTER>
</BODY></HTML>
Merci d'avance