begin process at 2012 05 28 23:20:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

affecter des valeurs à des colonnes d'un tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

affecter des valeurs à des colonnes d'un tableau

mercredi 8 septembre 2010 à 17:33:24 | affecter des valeurs à des colonnes d'un tableau

patingfree

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
mercredi 8 septembre 2010 à 23:20:00 | Re : affecter des valeurs à des colonnes d'un tableau

PetoleTeam

Membre Club
Bonjour,
je penses que c'est un complément au post Remplir plusieurs cases d'un formulaire avec le resultat d'une selection provenant d'une popup

beaucoup trop d'erreurs dans le code autant JavaScript que HTML

en vrac...
pour récupérer des valeurs et en faire leur addition il est souhaitable d'utiliser la méthode parseInt ou encore parseFloat et de verifier les données avec isNaN

par exemple :
Code Javascript :
var puht = parseFloat(document.getElementById("puht").value);

sur cette ligne
Code Javascript :
  var tva_produit = document.getElementById('tva_produit').value = val_tva_produit;
tu attribues la val_tva_produit à l'INPUT puis tu mets cette valeur dans tva_produit, je ne saisie pas trop le but.

plus loin concernant le HTML la structure
Code HTML :
<form>
<select name="liste" id="liste" onChange="Ajout()" >
<option value="" selected="selected">-- Sélectionnez une valeur --</option>
<tr align="left">
<td>
<?php
echo"<option value='".$donnees->id."'>".$donnees->reference." ".$donnees->designation." ".$donnees->prix_unitaire." </option>";
}
?>
</td>
</tr>
</select>
</form> 

n'est pas correcte...les balises TR et TD sont de trop
Code HTML :
<form>
  <select>
    <option></option>
    <option></option>
  </select>
</form>
pas mal de corrections à faire avant d'y voir clair donc...
;O)


Cette discussion est classée dans : colonne, var, alert, produit, val


Répondre à ce message

Sujets en rapport avec ce message

problème d'ouverture d'un fichier .txt avec OpenTextFile [ par 1000ste ] Bonjour,J'ai 2 problèmes à vous soumettre :function search(frm) { var line = "";//définition et initialisation du résultat de la recherche alert("entr Problème déclaration de variables dans frame [ par lawraC ] Bonjour,j'ai un jeu de cadre.Je souhaite, dans la fenêtre parent, déclarer un tableau qui me servira de repère (aprés mise à jour) lorsque l'une des f Opéra n'est plus le roi du web ? [ par Arto_8000 ] De tous les bugs que j'ai eu en javascript celui-ci est de loin le plus étrange que j'ai eu ... d'autant plus qu'il ne se passait que sur Opéra. var afficher l'implementation dans un alert [ par attentio ] Bonjour,voila j'ai un script qui me permet de modifier l'ordre d'une listeet j'ai une fonction qui va me permettre de renvoyer cet ordre:ex : si l'ord Probleme pour parser du xml avec I.E [ par rhan_659 ] Bonjourj'ai fais un code pour parser un flux XML (obtenue via de l'ajax), ça marche nickel sous Firefox mais i.e ne veux rien savoirvoila le codevar e message confirmation de coche un checkbox ou non [ par salasalasala ] [^^happy17][size=100]salut mes amis veuillez m'aider,jai deux zone de text et des case a coche, jai fait le controle sur les champs,mais ce que je veu alert+confirmation avant submit [ par salasalasala ] [^^happy17][size=100]salut mes amis veuillez m'aider,jai deux zone de text et des case a coche, jai fait le controle sur les champs,mais ce que je veu Javascript trop rapide !! [ par Glucoz21 ] Bonjour à tous. Voilà 2 jours que je suis sur du Google map via du Javascript pour un programme C# et il y a un petit souci que je n'arrive pas à rés sujet formulaire [ par limaseb ] J'ai un probleme sur mon formulaire aimerais le faire apparaitre en email outlook mais en colonne et non en ligne avec entre les informations & ces po alert() et mail ... [ par chapata ] Hello ,voilà, est-ce que quelqu'un peut m'expliquer pourquoi je n'arrive pas a faire des saut de ligne et retour de chariot dans mon mail :<f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales