简体   繁体   English

Javascript 税收计算器输入框不起作用

[英]Javascript Tax Calculator Input boxes not Functioning

this is a homework assignment in which I am supposed to write the JavaScript function (calculate) to calculate and display sales tax and total upon hitting the calculate button.这是一个家庭作业,我应该在其中编写 JavaScript 函数(计算)以在点击计算按钮时计算和显示销售税和总计。

This was provided for me:这是为我提供的:

salesTax = subtotal * taxRate/100; salesTax = 小计 * taxRate/100;

total = subtotal + salesTax;总计 = 小计 + 销售税;

and

Must be a positive number less than 10000000必须是小于 10000000 的正数

Must be a positive number less than 50必须是小于 50 的正数

Here is my code, can you tell me why it is not functioning?这是我的代码,你能告诉我为什么它不起作用吗? I am a novice obviously:我显然是个新手:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Sales Tax Calculator</title>
    <link rel="stylesheet" href="style.css" />
    <script>
        //function declaration for calculating sales tax
        function calculate() {
            //get three inputs from input boxes in the form
            let subtotal = parseInt(document.getElementById("subtotal").value);
            let taxRate = parseFloat(document.getElementById("tax_rate").value);

            //validation data
            if (subtotal <= 10000000 || tax_rate <= 50) {
                alert("sales tax exceeds 10000000 and/ or tax rate exceeds 50");
            } else {

                //calculate sales tax
                    salesTax = subtotal * taxRate / 100;
                    total = subtotal + salesTax;


                //display the results to the last two boxes
                document.getElementById("sales_tax").value = salesTax;
                document.getElementById("total").value = total;
            }
        }

        //function calling part

        //function named clear_form to clear every data entry in the clear_form
        //create function
        function clear_form() {
            document.getElementById("subtotal").value = " ";
            document.getElementById("tax_rate").value = " ";
            document.getElementById("sales_tax").value = " ";
            document.getElementById("total").value = " ";
            /*document.getElementById("investment").focus();*/
        }

        //function calling part using window.onload
        window.onload = function() {
            document.getElementById("calculate").onclick = calculate
            document.getElementById("clear").onclick = clear_form
        }
    </script>
</head>

<body>
    <div id="content">
        <h1>Sales Tax Calculator</h1>
        <p>Enter Subtotal and Tax Rate and click "Calculate".</p>
        <div id="taxCalc">
            <label for="subtotal">Subtotal:</label>
            <input type="text" id="subtotal">
            <span id="subtotal_message">Enter Order Subtotal</span><br />

            <label for="tax_rate">Tax Rate:</label>
            <input type="text" id="tax_rate">
            <span id="tax_rate_message">Enter Sales Tax Rate </span><br />

            <label for="sales_tax">Sales Tax:</label>
            <input type="text" id="sales_tax" disabled><br />

            <label for="total">Total:</label>
            <input type="text" id="total" disabled><br />

            <label>&nbsp;</label>
            <input type="button" id="calculate" value="Calculate">
            <input type="button" id="clear" value="Clear"><br />
        </div>
    </div>
</body>

</html>

I have run your code, and have run into one problem that has stopped it from running:我已经运行了您的代码,但遇到了一个问题,使其无法运行:

            //validation data
if (subtotal <= 10000000 || tax_rate <= 50) {
alert("sales tax exceeds 10000000 and/ or tax rate exceeds 50");

You have accidentaly mixed around your greater than and less than signs!你不小心混合了大于和小于符号!

It should be:它应该是:

//validation data
if (subtotal >= 10000000 || tax_rate >= 50) {
  alert("sales tax exceeds 10000000 and/ or tax rate exceeds 50");

Try this and see if it works.试试这个,看看它是否有效。

You're checking wrong conditions -你正在检查错误的条件 -

if (subtotal <= 10000000 || tax_rate <= 50)

It should be the following condition -应该是以下条件——

if (subtotal >= 10000000 || tax_rate >= 50)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM