Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'opération en javascript (débutant)

Sujet résolu
    14 décembre 2010 à 18:29:48

    Bonjour,
    Alors voilà. Je n'y connais rien en javascript et j'ai récupéré ce code et l'ai modifié pour multiplier deux valeur (cal (), cal1()) et les ajouter entres elles (calfin).
    Maintenant, je voudrais ajouter la tva à mon dernier résultat pour le mettre dans un nouveau champ (partie html) pourriez-vous m'aider ?

    function cal() {
          var pl=document.form1.places.value;
          var tf=document.form1.tarifs.value;
          var resultat=pl*tf;
          document.form1.tresultat.value=resultat;
       document.formfin.tresultatfin.value = calfin();
          }
     
          function cal2() {
          var pl2=document.form2.places2.value;
          var tf2=document.form2.tarifs2.value;
          var resultat2=pl2*tf2;
          document.form2.tresultat2.value=resultat2;
       document.formfin.tresultatfin.value = calfin();
          }
     
          function calfin() {
          var r1=form1.tresultat.value;
          var r2=form2.tresultat2.value;
          return (parseFloat(r1)+parseFloat(r2));
          }
    
    • Partager sur Facebook
    • Partager sur Twitter
      14 décembre 2010 à 19:30:39

      ptetre quelque chose comme ca.

      function ecrit()
      {
      document.getElementById('tva').value= cal1() + cal2()+ calcultva();
      }
      <input type="text" name="tva" id="tva" onChange="ecrit()">
      

      • Partager sur Facebook
      • Partager sur Twitter
        14 décembre 2010 à 19:45:40

        En fait, il faut que le champ de tva
        <form name="formfintva">
        			  Résultat :<input type="text" value="0" name="tresultatfintva">
         </form>
        


        se change automatiquement en fonction du résultat calfin...

        Veux-tu mon code en entier ?
        • Partager sur Facebook
        • Partager sur Twitter
          14 décembre 2010 à 19:57:01

          Ok,

          Alors mets un id="" dans ton input fait ta fonction tva et ajoute l'evenement onChange dans l'
          <input type=text id="prix" onChange="calculeTva()">
          et
          ton champ tva <input type="text" name="tva" id="tva>"changera automatiquement
          function calculTva()
          {
          document.getElementById('tva').value = (prix*18,9/100);
          }
          

          Il faut mettre un id dans ton input parce qu'on fait un getElementById qui cherche un id dans la page qui se nomme tva.

          normalement ca doit marcher..

          sinon, montre ton code complet.

          A plus
          • Partager sur Facebook
          • Partager sur Twitter
            14 décembre 2010 à 20:12:10

            Je vais mettre mon code ici car après plusieurs essais je n'arrive pas à faire ce que je veux...


            <html>
                  <head>
                 
             <script language="javascript"> 
             
            	 function popupcentree(page,largeur,hauteur,options) 
            	 { var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2; 
            	 window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options); 
            	 } 
                 
            	 function cal() {
                  var pl=document.form1.places.value;
                  var tf=document.form1.tarifs.value;
                  var resultat=pl*tf;
                  document.form1.tresultat.value=resultat;
               document.formfin.tresultatfin.value = calfin();
                  }
             
                  function cal2() {
                  var pl2=document.form2.places2.value;
                  var tf2=document.form2.tarifs2.value;
                  var resultat2=pl2*tf2;
                  document.form2.tresultat2.value=resultat2;
               document.formfin.tresultatfin.value = calfin();
                  }
             
                  function calfin() {
                  var r1=form1.tresultat.value;
                  var r2=form2.tresultat2.value;
                  return (parseFloat(r1)+parseFloat(r2));
                  }
            	  
            	  function calculTva()
            		{
            		document.getElementById('tva').value = (prix*18,9/100);
            		}
            
            	  
                  </script>
             </head>
             <body>
             <table align="center">
             <tr>
            		<form name="form1">
            	<td>
            		<a href='javascript:popupcentree("popup.html",250,200,"menubar=no,scrollbars=no,statusbar=no")'><img src="images/tomme.jpg"/></a>
            	</td>
            	<td>
            			  Places :
            				   <select name="places" onChange="cal()">
            				   <option value="7.50">7,50 euros
            				   
            			   </select>
            	</td>	
            	<td>
            			  Tarifs :
            				   <select name="tarifs" onChange="cal()">
            				   <option value="0.1">100 grammes
            				   <option value="0.2">200 grammes
            				   <option value="1">1 kg
            				   </select>
            	</td>
            	<td>
            			  <input type="text" value="0" name="tresultat">
            		</form>
            	</td>
            	
            <tr>
            	<td> 
            		<form name="form2">
            				Places2 :
            				   <select name="places2" onChange="cal2()">
            				   <option value="5">5
            				   </select>
            	</td>
            	<td>
            				Tarifs2 :
            				   <select name="tarifs2" onChange="cal2()">
            			  <option value="0.1">100 grammes
            				   <option value="0.2">200 grammes
            				   <option value="1">1 kg
            				   </select>
            	</td>
            	<td>		 
            			  <input type="text" value="0" name="tresultat2">
            		</form>
            	</td>
            <tr>
            	
            			  <form name="formfin">
            			  Résultat :<input type="text" value="0" name="tresultatfin">
            			  </form>
            </tr>
            <tr>
            	
            			  <form name="formfintva">
            			  Résultat :<input type="text" value="0" name="tresultatfintva"> <!-- je voudrais changer le résultat ici -->
            			  </form>
            </tr>
            </table>  
                  </body>
                  </html>
            


            • Partager sur Facebook
            • Partager sur Twitter
              14 décembre 2010 à 20:28:46

              // a mettre dans tes balises script :
              function calculTva()
              {
              document.getElementById('tresultatfintva').value = (prix*18,9/100);
              // l'id ajouté dans le input. !!
              }
              <select name="tarifs2" onChange="calculTva()">
              // en fait, il faut mettre l'evenement onClick, 
              // pask l'evenement onChange ne marche pas avec un select
              // Tu peux essayer avec onClick="" au lieu de onChange()
              <option value="0.1">100 grammes
              <option value="0.2">200 grammes
              <option value="1">1 kg
              </select>
              

              mettre l'id=""
              <form name="formfintva">
              Résultat :<input type="text" value="0" name="tresultatfintva" id="tresultatfintva"> 
              </form>
              


              J'ai pas testé, mais ca devrait jouer.
              Lien pour les evenements :
              Les événements JS

              Redis si jamais..

              plus
              • Partager sur Facebook
              • Partager sur Twitter
                14 décembre 2010 à 20:47:25

                Excuse moi mais je sais pas si tu comprends bien.

                Je veux juste stocker le résultat de calfin dans une variable et lui rajouter 18.9% pour remplir le champ form de la tva...

                Mon premier calcul marche très bien car il ajoute le 6 + le 1.5 (voir image)
                mais me laisse mon champ tva (qui n'est que le resultat + la tva) vide.

                <image>http://www.hiboox.fr/go/images/divers/tarif,517a378acf16b6f7e9850b4cc206e643.png.html</image>


                EDIT : en fait je voudrais faire

                function calfintva() {
                      var r1=form1.tresultat.value;
                      var r2=form2.tresultat2.value;
                      return (parseFloat(r1)+parseFloat(r2))+ la tva;
                      }
                


                Pour changer le form

                <form name="formfintva">
                			  Résultat :<input type="text" value="0" name="tresultatfintva">
                			  </form>
                
                • Partager sur Facebook
                • Partager sur Twitter
                  14 décembre 2010 à 21:15:16

                  function calfin() {
                        var r1=form1.tresultat.value;
                        var r2=form2.tresultat2.value;
                        return (parseFloat(r1)+parseFloat(r2));
                        }
                  function calfintva()
                  {
                  document.getElementById('tresultatfintva').value = calfin()*118,9/100;
                  }
                  

                  //dans les select, mettre l'evenement "onClick" qui va changer la valeur dans "tresultatfintva"
                  // quand tu change l'option du select :

                  <select name="tarifs" onClick="calfintva()">
                  il faut mettre dans l'input l'id :

                  <input type="text" value="0" name="tresultatfintva" id="tresultatfintva">

                  J'espere avoir bien compris cette fois...

                  Je sais pas....

                  A plus
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 décembre 2010 à 21:25:24

                    Excuse moi, je dois très mal expliquer.
                    J'ai avancé mais c'est toujours pas ça, tu comprendras peut-être mieux.


                    <html>
                          <head>
                         
                     <script language="javascript"> 
                     
                    	 function popupcentree(page,largeur,hauteur,options) 
                    	 { var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2; 
                    	 window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options); 
                    	 } 
                         
                    	 function cal() {
                          var pl=document.form1.places.value;
                          var tf=document.form1.tarifs.value;
                          var resultat=pl*tf;
                          document.form1.tresultat.value=resultat;
                       document.formfin.tresultatfin.value = calfin();
                       document.formfin.tresultatfin.value = calfintva();
                          }
                     
                          function cal2() {
                          var pl2=document.form2.places2.value;
                          var tf2=document.form2.tarifs2.value;
                          var resultat2=pl2*tf2;
                          document.form2.tresultat2.value=resultat2;
                       document.formfin.tresultatfin.value = calfin();
                        document.formfin.tresultatfin.value = calfintva();
                          }
                     
                          function calfin() {
                          var r1=form1.tresultat.value;
                          var r2=form2.tresultat2.value;
                          return (parseFloat(r1)+parseFloat(r2));
                          }
                    	  
                    	   function calfintva() {
                          var r1=form1.tresultat.value;
                          var r2=form2.tresultat2.value;
                          return (parseFloat(r1)+parseFloat(r2))+(18,9/100);
                          }
                    	  
                          </script>
                     </head>
                     <body>
                     <table align="center">
                     <tr>
                    		<form name="form1">
                    	<td>
                    		<a href='javascript:popupcentree("popup.html",250,200,"menubar=no,scrollbars=no,statusbar=no")'><img src="images/tomme.jpg"/></a>
                    	</td>
                    	<td>
                    			  Places :
                    				   <select name="places" onChange="cal()">
                    				   <option value="7.50">7,50 euros
                    				   
                    			   </select>
                    	</td>	
                    	<td>
                    			  Tarifs :
                    				   <select name="tarifs" onChange="cal()">
                    				   <option value="0.1">100 grammes
                    				   <option value="0.2">200 grammes
                    				   <option value="1">1 kg
                    				   </select>
                    	</td>
                    	<td>
                    			  <input type="text" value="0" name="tresultat">
                    		</form>
                    	</td>
                    	
                    <tr>
                    	<td> 
                    		<form name="form2">
                    				Places2 :
                    				   <select name="places2" onChange="cal2()">
                    				   <option value="5">5
                    				   </select>
                    	</td>
                    	<td>
                    				Tarifs2 :
                    				   <select name="tarifs2" onChange="cal2()">
                    			  <option value="0.1">100 grammes
                    				   <option value="0.2">200 grammes
                    				   <option value="1">1 kg
                    				   </select>
                    	</td>
                    	<td>		 
                    			  <input type="text" value="0" name="tresultat2">
                    		</form>
                    	</td>
                    <tr>
                    	
                    			  <form name="formfin">
                    			  Résultat :<input type="text" value="0" name="tresultatfin">
                    			  </form>
                    </tr>
                    <tr>
                    	
                    			  <form name="formfintva">
                    			  Résultat :<input type="text" value="0" name="tresultatfintva">
                    			  </form>
                    </tr>
                    </table>  
                          </body>
                          </html>
                    




                    Cette fois la tva se calcule bien mais je n'ai plus le prix hors taxe ! Je ne sais pas comment affecter ma fonction sur le form. Je voudrais deux champs. L'un pour la valeur Ht et l'autre avec la tva (mais seulement sur le prix final).
                    La j'ai bien la tva mais elle s'affiche sur mon champ qui était pour le total HT...
                    Me comprends-tu mieux ?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Problème d'opération en javascript (débutant)

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown