begin process at 2012 05 29 18:45:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Probleme de calcule dynamique


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

Probleme de calcule dynamique

mardi 8 mars 2011 à 20:13:04 | Probleme de calcule dynamique

farsicomores

Bonsoir!
Je suis entrain de faire un formulaire qui calcule un devis automatiquement. pour cela je crée des champs dynamiquement pour permettre de saisir autant des ligne que l'on veut. Pour ça je pense que le code marche.

Ensuite j'ai besoin de calculer dynamiquement le total des ses champs. le problème ce qu'il calcul la ère ligne mais pas les autres. j'ai récupéré le code de calcul par ici, merci de votre.
Code HTML :
<html><body onload="Create_Ligne();">
    
                                      <table id="fact-tablee" style="width:507px;margin-top:10px;" cellpadding="0" cellspacing="0">
                                        	<tr>
                                            	<th class="corn-fact-t-l"></th>
                                                <th class="fact-heade" style="width:166px;">DESIGNATION</th>
                                           	  	<th class="fact-heade" style="width:58px;">Qt&eacute;</th>
                                                <th class="fact-heade" style="width:82px;">P.U.</th>
                                            	<th class="fact-heade" style="width:38px;">TVA</th>
                                                <th class="fact-heade" style="width:60px;">PRIX HT</th>
                                            	<th class="fact-heade" style="width:59px;">PRIX TTC</th>
                                                <th class="fact-heade" style="width:30px;"></th>
                                                <th class="corn-fact-t-r"></th>
                                            </tr>
                                                                                       
                                      </table>
									  
									  <table>
									        <tr>
									              <th><input 	type="button" onclick="Create_Ligne();" value="Ajouter" /> </th>
									        </tr>
									  </table></body></html>

Code Javascript :
<script language="javascript">
//---------------
function Calcul(){
	
     var Ind=1,
	  Obj   = null,
      Qte,
      Prix,
      Total = 0,
      Valeur;
	  
  //-- tant que l'objet existe
  while( Obj = document.getElementById('qte')){
    //-- recup des valeurs
    Qte    = parseInt( Obj.value);
		
    Prix   = parseFloat( document.getElementById('pu').value);
	Valeur = Qte * Prix;  // pas mis les tests si isNaN
    //-- affiche le resultat
    document.getElementById('montant').value = Valeur;
    //-- ajoute dans total
    Total += Valeur;
    //-- au suivant
    Ind ++;
  }
  //-- mets dans total
 // document.getElementById( "total").value = Total;
}

var Compteur = 0;
//--------------------------
function Delete_Ligne( obj_){
  var Parent;
  var Obj = obj_;
  if( Obj){
    //-- tant que pas la balise <TR>
    do{
       Obj = Obj.parentNode;
    }while( Obj.tagName != "TR")
    //-- Recup du parent
    Parent = Obj.parentNode;
    //-- Suppression de la ligne
    if( Parent){
      Parent.deleteRow( Obj.rowIndex)
    }
  }
}
//----------------------
function Create_Ligne(){
  //-- compteur pour le FUN
  Compteur++;
  //-- Get objet tableau
  var O_Table = document.getElementById('fact-tablee');
  //-- Get nombre de ligne du tableau
  var NbrLigne = O_Table.rows.length;
  //-- Position d'insertion
  var Pos = NbrLigne;
  //-- Insertion d'une ligne
  O_Row  = O_Table.insertRow( Pos);
   
  //-- Insertion des cellules
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = O_Row.rowIndex;
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div align="center"><input type="text"  name="designation[]" class="inp-design" value="designation n°' +Compteur +'"/></div><div class="separateur">&nbsp;</div>';
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div class="border" style="text-align:center;"><input type="text"  id="qte" name="qte[]"      class="inp-qte"  onKeyUp="Calcul()" /></div><div class="separateur">&nbsp;</div>';
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div class="border" style="text-align:center;"><input type="text"  id="pu" name="pu[]" class="inp-pu"  onKeyUp="Calcul()"/></div><div class="separateur">&nbsp;</div>';
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"> 0</div><div class="separateur">&nbsp;</div>';
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = ' <div class="border" style="text-align:center;height:18px;">  <input type="text" id="montant" name="montant[]"  class="inp-pu" /></div><div class="separateur">&nbsp;</div>';
  
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;">0 ¤ </div><div class="separateur">&nbsp;</div>';
  
   
  O_Cell = O_Row.insertCell(-1);
  O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"><input type="image" src="images/cross.png" onClick="Delete_Ligne(this)" /></div><div class="separateur">&nbsp;</div>';
  
 O_Cell = O_Row.insertCell(-1);
 O_Cell.innerHTML = '<div class="fact-b-r"></div>';  
}

</script>


vendredi 11 mars 2011 à 16:34:44 | Re : Probleme de calcule dynamique

jopop

Salut,

Un tag id doit être unique, du coup un while(getElementById('x')) n'as pas tellement de sens. D'ailleurs lorsque tu Create_Line() tu devrais mettre des id uniques, en concaténant le numéro de la ligne par exemple. Pour le calcul il suffit alors de faire une boucle sur le nombre de ligne du tableau en sommant les getElementById('qte' + lineNumber).Value

En espérant t'avoir mis sur une -bonne- piste
samedi 12 mars 2011 à 21:18:35 | Re : Probleme de calcule dynamique

007Julien


Attention encore au calcul, avec des centimes, le séparateur n'est pas la virgule en javascript mais le point. Il convient donc d'opérer des remplacements avant et après calcul...



Cette discussion est classée dans : row, obj, innerhtml, cell, insertcell


Répondre à ce message

Sujets en rapport avec ce message

Probleme de calcule dynamique [ par farsicomores ] Bonjour l'équipe! Je suis entrain de travailler sur un site et je suis bloqué sur un script que j'ai récupéré ici et je vous l'envoie s'il est possi récupérer des champs créer dynamiquement [ par farsicomores ] bonjour je suis entrain de faire un formulaire de saisi et je créer les champs dynamiquement et et je voudrais calculé les valeurs mais je n'y arrive Récupération des champs input js en php [ par farsicomores ] Bonjour! Je suis entrain de faire un formulaire dynamique en js qui marche bien. Maintenant je voudrais récupéré les champs en php pour insérer dans l à l'aide c'est urgent [ par OuntaMalek ] Bonjour,je suis débutant et je travaille sur un tableau dynamique ou on ajoute des lignes/ des colonnes. le problème c'est que je dois calculer deux m Dupliquer une ligne d'un tableau html javascript DOM [ par lord1366 ] Bonjour, voici mon problème : Je voudrais copier une ligne d'un tableau html (celà fonctionne sous Mozilla, Opera, Safari, IE8 mais pas sous IE6 et I obj.innerHTML [ par fgingat ] Bonjour à tous .. Voila mon premier poste concerne un soucis de comprehension de la methode de fonctionnement de obj.innerHTML  A savoir sur une page Javascript XML et Mozilla [ par opeo31 ] Bonjour,j'ai un très gros souci sur mon code qui marche bien sur IE, mais plante sur Mozilla.En effet il s'agit en gros de récupérer le choix d'un uti probleme j'arrive pas insérér des donnée dans mon tableaux dynamique ligne par ligne svp aidez moi ?!!!! [ par styler31 ] je dois réaliser pour mon stage un programme qui me permet remplir un bon de livraison.en fait il faudrait réaliser un tableau dynamique qui appelle u Affectation d'un fonction pour un evenement pour IE et FF? [ par dudulebzh35 ] Bonjour a tous,J'ai une liste avec le nom de fichiers et de repertoires (dans une table). Lorsque je clique sur un repertoire, je vois ses fichiers, Rajouter des valeur a this dans Mootools pour l'envoyer avec AJAX [ par jnbdzjnbdz ] Bonjour, j'utilise mootools 1.2 comme library, mais ses pas vraiment une question qui a rappore avec mootools mais plus avec des fonctionaliter avance


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 3,167 sec (3)

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