Javascript : pas d'affichage des résultats

kesskisspass Messages postés 1 Date d'inscription lundi 6 juillet 2015 Statut Membre Dernière intervention 6 juillet 2015 - Modifié par kazma le 6/07/2015 à 13:33
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 6 juil. 2015 à 12:19
Bonjour,
Actuellement sur un petit projet perso, j'ai élaboré le fichier ci-dessous en html/javascript :

Le problème :
rien ne s'affiche après le clic sur "calculer" et aucun message d'erreur n'apparaît, les cases restent vides.
J'utilise Firefox dernière version, j'ai testé sur IE 9, ça ne marche pas non plus.

Je ne situe pas l'erreur, peut-on m'indiquer, svp à quel endroit j'ai faux ?

En vous remerciant.


<html>
<HEAD>
<title>valeur retracement bas fibonacci</title>

<SCRIPT language="JavaScript">

  function main(formulaire)
    {
        var plushaut = formulaire.plushaut.value;
        var plusbas = formulaire.plusbas.value;

var tb1 = plusbas + ((plushaut - plusbas) * 138.20/100);
var tb2 = plusbas + ((plushaut - plusbas) * 100.00/100);
var tb3 = plusbas + ((plushaut - plusbas) * 76.40/100);
var tb4 = plusbas + ((plushaut - plusbas) * 61.80/100);
var tb5 = plusbas + ((plushaut - plusbas) * 50.00/100);
var tb6 = plusbas + ((plushaut - plusbas) * 38.20/100);
var tb7 = plusbas + ((plushaut - plusbas) * 23.60/100);
var tb8 = plusbas + ((plushaut - plusbas) * 0.00/100);

        formulaire.tb1.value = tb1.toFixed(3);
        formulaire.tb2.value = tb2.toFixed(3);
        formulaire.tb3.value = tb3.toFixed(3);
        formulaire.tb4.value = tb4.toFixed(3);
        formulaire.tb5.value = tb5.toFixed(3);
        formulaire.tb6.value = tb6.toFixed(3);
        formulaire.tb7.value = tb7.toFixed(3);
        formulaire.tb8.value = tb8.toFixed(3);

 }
</script>
</head>

<body>
<CENTER>
RETRACEMENT BAS FIBONACCI FINANCES
<BR />
<FORM name="in_out">
  <TABLE border="1">
   <TR><TD> PLUS HAUT </TD><TD>   <INPUT type="text" size="10" name="plushaut"></TD></TR>
   <TR><TD> PLUS BAS  </TD><TD>   <INPUT type="text" size="10" name="plusbas"  </TD></TR>

<tr><td height="15" bgcolor="#DEDEDE"></td><td height="15" bgcolor="#DEDEDE"></td></tr>

<tr><td></td></tr>

   <TR><TD> 138.20 %   </TD><TD>   <INPUT type="text" size="10" name="tb1" value="--- "><b>   €</b></TD>  </TR>

   <TR><TD> 100.00 %   </TD><TD>   <INPUT type="text" size="10" name="tb2" value="--- "><b>   €</b></TD></TR>

   <TR><TD> 76.40 %   </TD><TD>   <INPUT type="text" size="10" name="tb3" value="--- "><b>   €</b></TD>   </TR>

   <TR><TD> 61.80 %   </TD><TD>   <INPUT type="text" size="10" name="tb4" value="--- "><b>   €</b></TD> </TR>

   <TR><TD> 50.00 %   </TD><TD>   <INPUT type="text" size="10" name="tb5" value="--- "><b>   €</b></TD>  </TR>

   <TR><TD> 38.20 %   </TD><TD>   <INPUT type="text" size="10" name="tb6" value="--- "><b>   €</b></TD> </TR>

   <TR><TD> 23.60 %   </TD><TD>   <INPUT type="text" size="10" name="tb7" value="--- "><b>   €</b></TD>   </TR>

   <TR><TD> 00.00 %   </TD><TD>   <INPUT type="text" size="10" name="tb8" value="--- "><b>   €</b></TD>   </TR>

  </TABLE>


  <P><input type="button" value="Calculer" onClick="main(in_out)"></P>
</FORM>





</CENTER>
</body>

</html>

fin du message

1 réponse

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
6 juil. 2015 à 12:12
Bonjour,

si ty te mets en debug,

le debugger te dit que toFixed(3) n'est pas une fonction,


dans ton code, plushaut et plusbas sont de type string,

après tes calculs, tb1 à 8 sont aussi de type string (guillemets de chaque coté de la valeur dans le debug).

le type string , n'a pas la fonction toFixed();

pour corriger tu peux parser plushaut et plusbas en float.

function main(formulaire)
    {
        var plushaut = parseFloat(formulaire.plushaut.value);
        var plusbas = parseFloat(formulaire.plusbas.value);
       
        var tb1 = plusbas + ((plushaut - plusbas) * 138.20 / 100);
        var tb2 = plusbas + ((plushaut - plusbas) * 100.00 / 100);
        var tb3 = plusbas + ((plushaut - plusbas) * 76.40 / 100);
        var tb4 = plusbas + ((plushaut - plusbas) * 61.80 / 100);
        var tb5 = plusbas + ((plushaut - plusbas) * 50.00 / 100);
        var tb6 = plusbas + ((plushaut - plusbas) * 38.20 / 100);
        var tb7 = plusbas + ((plushaut - plusbas) * 23.60 / 100);
        var tb8 = plusbas + ((plushaut - plusbas) * 0.00 / 100);
        formulaire.tb1.value = tb1.toFixed(3);
        formulaire.tb2.value = tb2.toFixed(3);
        formulaire.tb3.value = tb3.toFixed(3);
        formulaire.tb4.value = tb4.toFixed(3);
        formulaire.tb5.value = tb5.toFixed(3);
        formulaire.tb6.value = tb6.toFixed(3);
        formulaire.tb7.value = tb7.toFixed(3);
        formulaire.tb8.value = tb8.toFixed(3);
    }


bonne journée.
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
6 juil. 2015 à 12:19
rebonjour,

évite également de mette l'attribut

<SCRIPT language="JavaScript">


qui est obsolete.

place plutôt

<SCRIPT type="text/javascript" >



bonne journée.
0
Rejoignez-nous