Combiner deux fonctions javascript

Résolu
marcozambezi Messages postés 13 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 30 décembre 2006 - 27 déc. 2006 à 18:14
marcozambezi Messages postés 13 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 30 décembre 2006 - 27 déc. 2006 à 19:20
bonjour,

je n'arrive pas à combiner deux fonctions.
L'une convertit "en direct" une valeur dans différentes unités,
l'autre me permet simplement d'utiliser indifféremment virgule ou point.
J'arrive à les combiner dans les , avec la méthode  onchange="fonction_1(this),fonction_2(this)",
mais je voudrais les combiner en amont pour alléger l'écriture (onchange="fonction_12(this)")...

voici ce que j´écris (comme bcp, je bidouille en javascript, je ne sais pas vraiment écrire)

Quelqu'un sait-il ?

------------------------------------------------
<head>
<script>function fonction_2(that){if(that.value.indexOf(",")>=0){that.value=that.value.replace(/\,/g,".");}}</script>
</head>

<script>
function round(number,X){X=(!X?15:X);return Math.round(number*Math.pow(10,X))/Math.pow(10,X);}
function fonction_1(input){
var volum=input.value*1;
var Type=input.name;
if(Type=="AA"){hl=volum/0.001;}
if(Type=="BB"){hl=volum/0.1;}
AA=round(hl*0.001);
BB=round(hl*0.1);
if(Type!="AA"){document.volumeX.km3.value=km3.toPrecision(VG);}
if(Type!="BB"){document.volumeX.m3.value=m3.toPrecision(VG);}
}

function COMBINE(that){
fonction_1(input);
fonction_2(that);}

</script>

<form id="VGF">

</form>
<form name="volumeX">

</form>

</html>

2 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
27 déc. 2006 à 19:09
B
onjour...
pour enchainer plusieurs fonctions les unes après les autres l'approche est bonne mais le passage des paramètres l'est moins

remplacer
  onchange="fonction_1(this);fonction_2(this);"
par
  onchange="fonction_12(this);"
donne la fonction...
//--------------------------
function fonction_12( this_){
  fonction_1( this_); // this_ est le paramètre passé
  fonction_2( this_); // même paramètre passé à la deuxième fonction
}

si j'ai bien saisi ton problème...
;0)
3
marcozambezi Messages postés 13 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 30 décembre 2006
27 déc. 2006 à 19:20
aaah c'est agréable quand ça fonctionne !
merci !
3
Rejoignez-nous