marcozambezi
Messages postés13Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention30 décembre 2006
-
30 déc. 2006 à 06:01
marcozambezi
Messages postés13Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention30 décembre 2006
-
30 déc. 2006 à 16:39
bonjour,
j'ai un formulaire qui convertit des km/L en L/100km... et réciproquement.
Je souhaite laisser le choix du nombre de décimales..
J'arrive très bien à intégrer cette virgule au résultat mais je n'arrive pas à faire en sorte qe dès que l'on a sélectionné le nombre de décimales, cela actualise immédiatement les autres valeurs ....
comment faire?
<script>
function round(number,X){X = (!X ? 18 : X); return Math.round(number*Math.pow(100,X))/Math.pow(100,X);}
function conso(input){
var consu=input.value;
var Type=input.name;
var decim = document.forms['decim'].elements['decim'].value;
if(Type=="lkm"){lkm=consu/1;}
if(Type=="l100km"){lkm=consu/100;}
lkm=round(lkm*1);
l100km=round(lkm*100);
if(Type!="lkm"){document.consumoX.lkm.value=lkm.toFixed(decim);}
if(Type!="l100km"){document.consumoX.l100km.value=l100km.toFixed(decim);}}
marcozambezi
Messages postés13Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention30 décembre 2006 30 déc. 2006 à 06:20
idealement, j'aimerais mettre le choix des décimales et des valeurs à convertir dans deux formulaires différents, mais là, je sais encore moins comment récupérer le choix de la décimales...
var O_lkm = document.getElementById('lkm');
var O_l100km = document.getElementById('l100km');
//-- Appel à ta fonction calcul( O_lkm);
calcul( O_l100km);
}
Travailes avec des ID sur tes différents éléments pour faciliter leur accés grace à
document.getElementById.
Nota :
- n'acceptes pas la réponse si la pas solutionnée...
- Problème avec toFixed, toPrecision tu en es ou..
marcozambezi
Messages postés13Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention30 décembre 2006 30 déc. 2006 à 15:04
merci pour ta réponse.
Mais ça ne marche pas... snif. J'ai du me tromper...
Par ailleurs, il y a en moyenne une cinquantaine de champs de calcul automotiques dams mes forumalaires, donc je cherchais une méthode qui m'évite d'avoir à rajouter 2 lignes de code par input... c'est vraiment pas possible ?
pour le toPrecision, je t'en reparle, je suis presque arrivé au bout de mes peines.
<script>
function round(number,X){X = (!X ? 18 : X); return Math.round(number*Math.pow(100,X))/Math.pow(100,X);}
function conso(input){
var consu=input.value;
var Type=input.name;
var decim = document.forms['decim'].elements['decim'].value;
if(Type=="lkm"){lkm=consu/1;}
if(Type=="l100km"){lkm=consu/100;}
lkm=round(lkm*1);
l100km=round(lkm*100);
if(Type!="lkm"){document.consumoX.lkm.value=lkm.toFixed(decim);}
if(Type!="l100km"){document.consumoX.l100km.value=l100km.toFixed(decim);}}
function decim(that)
{if(that.value.indexOf(",")>=0)
{that.value=that.value.replace(/\,/g,".");}}
function Mise_A_Jour(){
//-- Récup des Objets
var O_lkm = document.getElementById('lkm');
var O_l100km = document.getElementById('l100km');
//-- Appel à ta fonction
calcul( O_lkm);
calcul( O_l100km);
}
</script>
<form name="consumoX" id="decim">
<select name="decim" type="text" onchange="Mise_A_Jour();"/>
<option value="0">0 décimales</option>
<option value="1">1 décimales</option>
<option value="2" selected="selected">2 décimales</option>
<option value="3">3 décimales</option>
</select>
Litres par km</label>
Litres pour 100 km</label>
</form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
marcozambezi
Messages postés13Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention30 décembre 2006 30 déc. 2006 à 16:07
ok, j'ai compris,
en fait, en mettant Mise_A_Jour dans la fonction globale 'calcul', et en rempaçant onchange=Mise_A_Jour par onchange="calcul(this)"...
ça marche...
merci!
ceci dit, je suis frustré, y a vraiment pas une solution pour pas avoir à rajouter toutes ces lignes de code ?