如何在JS中编写计算?

时间:2014-10-12 11:31:24

标签: javascript

如果金额是正确的,那么如果金额低于150欧元,则该金额会显示在对话框中;如果金额超过150欧元,则显示10%的折扣;如果金额高于250欧元,则显示20%。

<form name="monForm" action="#" method="post">
    Montant de la facture : <input type="text" name="montant" id="montant" /></br>
    <input type="button" onclick="paiement(document.monForm.montant.value)" name="valider" id="valider" value="Valider" />  
</form>

<script>
function paiement(montant)
{
    if (montant == "" || isNaN(montant)) //Pour s'assurer que le champ est renseigné et est numérique
    {
        alert("Montant de la facture en erreur");
        return false;   
    }

    montant = parseInt (montant);
    if (isNaN(montant) == false && montant < 150 )
    {
        var mtn = document.getElementById("montant");
        alert('Le montant de la facture est : "'+mtn.value+"'");
    }

    if (isNaN(montant) == false &&  montant > 150)
    {
        // calcul de la remise
        alert('Vous bénéficiez d une remise de : "'+remise.value+"'");
    }

    var j = 20;
    if (isNaN(montant) == false &&  montant > 250)
    {

    }
}
</script>

我想要的只是给予:

如果金额低于250欧元,折扣将为20% 并且是不到150欧元的折扣将是10%

1 个答案:

答案 0 :(得分:0)

// Lorsque le DOM sera prêt:
// - L'event 'load' (paramètre 1) sera lancé
// - La fonction (paramètre 2) sera alors exécutée
window.addEventListener('load', function() {
  // Lorsque l'utilisateur cliquera sur le bouton valider:
  // - L'event 'click' (paramètre 1) sera lancé
  // - La fonction (paramètre 2) sera alors exécutée
  document.getElementById('valider').addEventListener('click', function() {
    // Ciblage de l'input contenant le montant dans le DOM
    var inputElement = document.getElementById('montant');
    // Récupération de la valeur contenue dans l'input
    var stringValue = inputElement.value;
    // Transtypage de cette valeur textuelle en valeur numérique
    var floatValue = parseFloat(stringValue);
    // Si le transtypage a échoué ou le montant est négatif
    if (isNaN(floatValue) || floatValue < 0) {
      alert('Montant de la facture incorrect');
      return;
    }
    // Déclaration de la remise
    var remise;
    // Si le montant de la facture est dans l'interval [0;150[
    if (floatValue < 150) {
      remise = 0; // pourcent
    }
    // Si le montant de la facture est dans l'interval [150;250[
    else if (floatValue < 250) {
      remise = 10; // pourcent
    }
    // Si le montant de la facture est dans l'interval [250;+inf[
    else {
      remise = 20; // pourcent
    }
    // Calcul du montant final à 2 chiffres significatifs
    var finalValue = (floatValue - (floatValue * (remise / 100))).toFixed(2);
    // Affichage du résultat final
    alert('Vous bénéficiez d\'une remise de '+remise+'%\nSoit une facture totale de '+finalValue);
  });
});
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    Montant de la facture :
    <input type="text" id="montant"/><br/>
    <input type="button" id="valider" value="Valider"/>
  </body>
</html>