Javascript-折扣金额

时间:2020-06-09 15:58:26

标签: javascript html

我的代码需要帮助。 我应该有两盒价格 如果总和低于50,则会显示一条消息,显示SUM为xx-“无折扣”。 如果介于50-300的消息之间显示SUM为xx-“ 10%折扣” 如果300条或更多消息显示SUM为xx-“ 20%折扣”

我就是无法完成这项工作。我也希望关闭第三个输入,以便不能插入任何输入。

```

<script>
  function myCalculator(a,b){

    var c=parseInt(a)+parseInt(b);
    document.getElementById('text').value = c;

    if ( c >= 100 {
      text="no discount less than 100!";
    }
    else if (c<100 && total) 500 ) {
      text= "total=(a+b), 10% doscount. New price xx";
    }
    else if (c<500) {
      text= "total=(a+b), 20% doscount. New price xx";
    }
</script>

<h1>BUY</h1>
<input type="text" value="" id="text1"></input> +
<input type="text" value="" id="text2"></input> =
<input type="text" value="" id="text3"></input>
<input type="button" value="TOTALPRICE" 
 onclick='myCalculator(document.getElementById("text1").value,
 document.getElementById("text2").value)'></input>

2 个答案:

答案 0 :(得分:0)

  • 您的脚本中存在语法问题
  • 您不是要打印文字
  • 您不是要计算折价。

这里是jsfiddle

function myCalculator(a, b) {
  var c = parseInt(a) + parseInt(b);
  var text = '';
  document.getElementById('text3').value = c;
  if (c < 50) {
      text = "no discount less than 50!";
  }
  else if (c >= 50 && c <= 300) {
      text = "total=(a+b), 10% doscount. New price: " + Math.round(c * 0.9);
  }
  else if (c > 300) {
      text = "total=(a+b), 20% doscount. New price:" + Math.round(c * 0.8);
  }
  document.getElementById('text4').innerHTML = text;
}

答案 1 :(得分:0)

首先,您的代码中存在很多错误,但我已将其纠正。在定义标签的ID时,请务必小心。如果您对代码的更正版本有任何疑问,可以随时问。

    <h1>BUY</h1>
    <input type="number" value="" id="text1"></input> + 
    <input type="number" value="" id="text2"></input> = 
    <input type="text" value="" id="text3"></input>
    <input type="button" value="TOTALPRICE" onclick='myCalculator();'></input>
<script>
    function myCalculator(){
      let c= parseInt(document.getElementById("text1").value);
      let d = parseInt(document.getElementById("text2").value);
      let sum = c + d;
      document.getElementById('text3').value = sum;
      if ( sum < 50) {
          window.alert("Your total is " + sum + ". No discount less than 50!");
      }
      else if (sum <= 300 && sum > 50 ) {
          let newPrice = sum * 0.9;
          window.alert("Your total is " + sum + ". 10% discount. New price is " + newPrice);
      }
      else if (sum > 300) {
          let newPrice = sum * 0.8;
          window.alert("Your total is " + sum + ". 20% discount. New price is " + newPrice);
      }
    }
</script>