Problème de NaN
Posté : 03 avr. 2018, 08:21
Bonjour à tous,
Je suis débutant en javascript et j'essaye de créer une alerte dans ma petite application php.
Le contexte : Un utilisateur rentre des valeurs via un formulaire, de là je met en place une alerte lui indiquant si sa rétrocession est inférieur ou supérieur à 56.
J'utilise des variables php que je passe via des input type"hidden", ici je les ai déjà remplies, dans mon appli elles seront renseignées par la bdd.
voici le code :
Donc mon problème est que quand j'utilise cette méthode (en remplissant déjà mes variables php, j'ai bien mon réusltat, si je les remplies via la bdd j'ai un NaN.
J'ai effectué des débugs avec Typeof et toutes mes variables sont "true".
Je n'y comprend plus rien.
Merci de votre aide.
Je suis débutant en javascript et j'essaye de créer une alerte dans ma petite application php.
Le contexte : Un utilisateur rentre des valeurs via un formulaire, de là je met en place une alerte lui indiquant si sa rétrocession est inférieur ou supérieur à 56.
J'utilise des variables php que je passe via des input type"hidden", ici je les ai déjà remplies, dans mon appli elles seront renseignées par la bdd.
voici le code :
Code : Tout sélectionner
<?php
$prix_materiel=15500;
$taux_ri=44.12;
$frais1=0;
$frais2=0;
$tva1=1317.50;
$tva2=0;
?>
<form action="" method="post" enctype="multipart/form-data" name="" id="formulaireFinancement" class="formulaire">
<input type="hidden" name="prix_materiel" id="prix_materiel" value="<?php echo $prix_materiel; ?>">
<input type="hidden" name="taux_ri" id="taux_ri" value="<?php echo $taux_ri; ?>">
<input type="hidden" name="frais1" id="frais1" value="<?php echo $frais1; ?>">
<input type="hidden" name="frais2" id="frais2" value="<?php echo $frais2; ?>">
<input type="hidden" name="tva1" id="tva1" value="<?php echo $tva1; ?>">
<input type="hidden" name="tva2" id="tva2" value="<?php echo $tva2; ?>">
<input type="text" name="montant_2" id="montant_2" class="input_form">
<input type="text" name="montant_subvention" id="montant_subvention" class="input_form">
<input type="text" name="deduction_base" id="deduction_base" onblur="RetroCession()" class="input_form">
<script>
function RetroCession()
{
var retro=parseFloat(document.getElementById("formulaireFinancement").elements['montant_2'].value);
if (!isNaN (retro))
{
var montant_2 = parseFloat(document.getElementById("formulaireFinancement").elements['montant_2'].value);
var deduction_base = parseFloat(document.getElementById("formulaireFinancement").elements['deduction_base'].value);
var montant_subvention = parseFloat(document.getElementById("formulaireFinancement").elements['montant_subvention'].value);
var prix_materiel = parseFloat(document.getElementById("formulaireFinancement").elements['prix_materiel'].value);
var tvanpr = parseFloat(document.getElementById("formulaireFinancement").elements['tva1'].value);
var taux_ri = parseFloat(document.getElementById("formulaireFinancement").elements['taux_ri'].value);
var tva_percue = parseFloat(document.getElementById("formulaireFinancement").elements['tva2'].value);
var frais1 = parseFloat(document.getElementById("formulaireFinancement").elements['frais1'].value);
var tva_net = (tvanpr)+(tva_percue) ; // debug ok c'est number
var apport_net = (montant_2)-(tva_net) ; // debug ok c'est number
var total1 = (prix_materiel)+(frais1) ; // debug ok c'est number
var total2 = (tvanpr)+(montant_subvention)+(deduction_base) ; // debug ok c'est number
var base_defisc = (total1)-(total2) ; // debug ok c'est number
var montant_ri = (base_defisc)*(taux_ri) ; // debug ok c'est number
var retro_ok = 56 ; // debug ok c'est number
var retrocession = (apport_net/montant_ri)*10000 ; // debug ok c'est number
if (retrocession < retro_ok)
{
alert("ATTENTION votre rétrocession est inférieur à 56%. Elle est de : "+retrocession+" %");
//alert("Votre retrocession est de : "+retrocession+" %.");
}
else
{
alert("Votre rétrocession est de : "+retrocession+" %.");
//alert("Votre retrocession 1 net est de : "+retrocession_1);
}
}else
{
alert("Vous devez entrer un chiffre, en utilisant le . comme séparateur");
}
}</script>
J'ai effectué des débugs avec Typeof et toutes mes variables sont "true".
Je n'y comprend plus rien.
Merci de votre aide.