Javascript : addition de champs input
Bert74
-
pakis -
pakis -
Bonjour,
Voici la situation : j'ai 3 champs input d'un formulaire dans lequel j'envisage de remplir des valeurs numériques. Dans le même formulaire, j'ai un quatrième champ. J'aimerai afficher dans ce quatrième champs la somme numérique des 3 premiers champs.
Voici mon code :
<script language="javascript" type="text/javascript">
function send() {
document.form1.total.value = parseInt(document.form1.valeur_1.value) + parseInt(document.form1.valeur_2.value) + parseInt(document.form1.valeur_3.value);
}
</script>
<form id="form1" name="form1" method="post" action="">
valeur 1 :
<input type="text" name="valeur_1" id="valeur_1" onchange="send()"/>
<br /><br />
valeur 2 :
<input type="text" name="valeur_2" id="valeur_2" onchange="send()"/>
<br /><br />
valeur 3 :
<input type="text" name="valeur_3" id="valeur_3" onchange="send()"/>
<br /><br />
TOTAL :
<input type="text" name="total" id="total" />
<br />
</form>
Cela fonctionne quand les 3 premiers champs sont remplis mais lorsque 1 ou 2 champs sur 3 sont remplis, j'obtiens "NaN".
Comment faire pour avoir dans le champ total, la somme à partir de 1 champ rempli (en considérant qu'un champ non rempli=0) ?
Merci d'avance
Voici la situation : j'ai 3 champs input d'un formulaire dans lequel j'envisage de remplir des valeurs numériques. Dans le même formulaire, j'ai un quatrième champ. J'aimerai afficher dans ce quatrième champs la somme numérique des 3 premiers champs.
Voici mon code :
<script language="javascript" type="text/javascript">
function send() {
document.form1.total.value = parseInt(document.form1.valeur_1.value) + parseInt(document.form1.valeur_2.value) + parseInt(document.form1.valeur_3.value);
}
</script>
<form id="form1" name="form1" method="post" action="">
valeur 1 :
<input type="text" name="valeur_1" id="valeur_1" onchange="send()"/>
<br /><br />
valeur 2 :
<input type="text" name="valeur_2" id="valeur_2" onchange="send()"/>
<br /><br />
valeur 3 :
<input type="text" name="valeur_3" id="valeur_3" onchange="send()"/>
<br /><br />
TOTAL :
<input type="text" name="total" id="total" />
<br />
</form>
Cela fonctionne quand les 3 premiers champs sont remplis mais lorsque 1 ou 2 champs sur 3 sont remplis, j'obtiens "NaN".
Comment faire pour avoir dans le champ total, la somme à partir de 1 champ rempli (en considérant qu'un champ non rempli=0) ?
Merci d'avance
A voir également:
- Javascript : addition de champs input
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Erreur #125 javascript - Forum Mozilla Firefox
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
1 réponse
Peut-être, tu peux essayer un truc comme ça :
C'est pas forcément le plus simple, mais bon...
val1 = parseInt(document.form1.valeur_1.value); if (val1 == NaN) val1=0; val2 = parseInt(document.form1.valeur_2.value); if (val2 == NaN) val2=0; val3 = parseInt(document.form1.valeur_3.value); if (val3 == NaN) val3=0; document.form1.total.value = val1 + val2 + val3
C'est pas forcément le plus simple, mais bon...
Par => if (isNaN(val1) == true ) val1=0;
function taux()
{
var taux=parseFloat (document.getElementByName('taux').value);
var base=parseInt (document.getElementByName('base').value);
return base*taux;
}