Addition de valeurs en JAVASCRIPT Formulaire

Fermé
PPCPRO - 19 avril 2010 à 23:44
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 20 avril 2010 à 09:42
Bonsoir,

Je suis en train de développer un formulaire de commande avec échéancier mensuel, quantite, forfait...

Mon probleme est que je n'arrive pas à ADDITIONNER la valeur des frais de port à mon résultat, j'obtiens : [object HTMLInputElement]

Pouvez vous me venir en aide

Cordialement

Voici mon script :

<html>
<head>
<script type="text/javascript">
//------------------
function Fct_Somme(){



//-- Recup Objet FORM grace a son NAME
var O_Form = document.SOMME;
//-- Recup valeur 1 avec parseFloat()
var Val_1 = parseFloat( O_Form.QUANTITE.value);
//-- Recup valeur 2 avec parseFloat()
var Val_2 = parseFloat( O_Form.LOCATION.value);
//-- Recup valeur 3 avec parseFloat()
var Val_3 = parseFloat( O_Form.GEOLOC.value);
//-- Recup valeur 3 avec parseFloat()
var Val_4 = parseFloat( O_Form.RESULTAT1.value);








//-- mets la valeur dans l'INPUT resultat
O_Form.RESULTAT1.value = ( (Val_2*Val_1) ) + prix_total1;
//-- mets la valeur dans l'INPUT resultat
O_Form.RESULTAT2.value = ( Val_1*250);
//-- mets la valeur dans l'INPUT resultat
O_Form.RESULTAT3.value = ( ( 75+49) *Val_1) + prix_total1;
//-- mets la valeur dans l'INPUT resultat
O_Form.RESULTAT4.value = ( 75 *Val_1);
//-- mets la valeur dans l'INPUT resultat
O_Form.RESULTAT5.value = ( 75 *Val_1);
//-- mets la valeur dans l'INPUT resultat
O_Form.FRAISADMIN.value = ( 9 *Val_1);
//-- mets la valeur dans l'INPUT resultat





var port = 0;
for(i=1;i<10;i++){
val=Number(document.getElementById("val"+i).value);
if (Val_1 <= 5)
prix = 15;
else
if (Val_1 <= 10)
prix = 20;
else
if (Val_1 <= 50)
prix = 40;
else
if (Val_1 <= 1000)
prix = 0;

prixTotal= prix;
port = port + prixTotal;
document.getElementById("prix_total"+i).value=prixTotal;
//-- Recup valeur 3 avec parseFloat()
var Val_4 = parseFloat( O_Form.prix_total1.value);
}





}
</script>

</head>

<body>


<form id="SOMME" name="SOMME">



<label>Formule de location choisie :
<select name = "LOCATION" onchange="calcul(this)">

<option value="274">3 mois (3x75 €HT)</option>


</select>
</label>

<br>

<label>Forfait de géolocalisation :
<select name = "GEOLOC" onchange="calcul(this)">

<option value="49">SPOT90 (+49 €HT)</option>


</select>
</label><br>



Quantité :
<input name = "QUANTITE" size="8" type = "text">
<input type = "button" onclick = "Fct_Somme();" value = "CALCULER">
<br>

Montant de la caution :
<input name = "RESULTAT2" readonly size="8" type = "text">€HT<br>



<br>








<br>

A la commande (J) :
<input name = "RESULTAT3" readonly size="8" type = "text">€HT<br>

                      J+30 :
<input name = "RESULTAT4" readonly size="8" type = "text">€HT<br>

                      J+60 :
<input name = "RESULTAT5" readonly size="8" type = "text">€HT<br>

Frais administratifs d'ouverture de compte et de préparation de la commandes (inclus dans le prix) :
<input name = "FRAISADMIN" readonly size="8" type = "text">€HT<br>
<br>
Frais de port (en sus) :

<input type="hidden" size="8" class="val" id="val1" value="Val_1" onchange="calcul(this)" />

<input type="hidden" size="8" disabled="disabled" value="0" id="prix1" />
<input name="TEST" size="8" id="prix_total1" onchange="calcul(this)"/>
<br>
<label>Prix total de la solution : <input name = "RESULTAT1" readonly size="8" type = "text">€HT



</form>


</body>
</html>

1 réponse

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 avril 2010 à 09:42
O_Form.RESULTAT1.value = ( (Val_2*Val_1) ) + prix_total1;

tu ajoutes une variable prix_total1 qui n'existe pas

ensuite dans cette partie il y a un gros pb de principe

val=Number(document.getElementById("val"+i).value); //a quoi sert cette ligne puisque tu ne l'utilises pas ensuite
// exemple Val_1= 3
if (Val_1 <= 5) //satisfait cette condition donc prix=15
prix = 15;
else
if (Val_1 <= 10) //mais satisfait aussi cette condition donc prix=20
prix = 20;
else
if (Val_1 <= 50) //mais satisfait aussi cette condition donc prix=40
prix = 40;
else
if (Val_1 <= 1000) //mais satisfait aussi cette condition donc prix=0
prix = 0;
0