Javascript - discount from x units [closed]

3

I've mounted this code, but I can not get it to display the result at full discount from 'x' units:

de : <span id="APrecoDe">46.50</span><br><br>
por : <span id="APrecoPor">43.50</span><br><br>
qnt : <input type="text" id="Aunidades" onblur="calcular();" value="1" /><br><br>
qmin: <span id="Amin">2</span><br><br>
Seu desconto total é de: R$<span id="resultado"></span>

<script>
  function calcular() {
      var num1 = Number(document.getElementById("APrecoDe").innerHTML);
      var num2 = Number(document.getElementById("APrecoPor").innerHTML);
      var num3 = Number(document.getElementById("Aunidades").value);
      var num4 = Number(document.getElementById("Amin").innerHTML);

      if (num3 >= nun4) {
        var dif = num1 - num2;
        if (elemResult.textContent === undefined) {
          elemResult.textContent = "O resultado é " + String(dif * num3) + ".";
        } else { // IE
          elemResult.innerText = "O resultado é " + String(dif * num3) + ".";
        }
        var elemResult = document.getElementById("resultado");

      }
</script>
    
asked by anonymous 01.11.2016 / 17:04

1 answer

3

A closing key is missing from the script, the elemResult variable was declared after use, and the resultado element was not set. The result would be as follows:

<!DOCTYPE html>
<html lang="">
  <head>
    <title>Teste</title>

    <script type="text/javascript">
      function calcular() {
        var de = Number(document.getElementById("APrecoDe").innerHTML);
        var por = Number(document.getElementById("APrecoPor").innerHTML);
        var unid = Number(document.getElementById("Aunidades").value);
        var min = Number(document.getElementById("Amin").innerHTML);
        var elemResult = document.getElementById("resultado");

        if (unid >= min){
          var dif = de - por;

          if (elemResult.textContent === undefined) {
            elemResult.textContent = "O resultado é " + String(dif * unid) + ".";
          } else { // IE
            elemResult.innerText = "O resultado é " + String(dif * unid) + ".";
          }
        }
      }
    </script>
  </head>
  <body id="body">
    de  : <span id="APrecoDe">46.50</span><br><br>
    por : <span id="APrecoPor">43.50</span><br><br>
    qnt : <input type="text" id="Aunidades" onblur="calcular();" value="1"/><br><br>
    qmin: <span id="Amin">2</span><br><br>
    <span id="resultado"></span><br><br>
  </body>
</html>
    
01.11.2016 / 17:17