Вывод расчета [закрыт]

0

Я проверил этот скрипт на валидаторе w3 и проверял его без ошибок, но когда я пытаюсь вычислить что-то в корзине, нет вывода. Мне просто интересно, в чем проблема.

 <script type=text/javascript>
    function shoppingcart()
        {
        var TaxRate=0.10;
        var Tax=0;
        var Subtotal=0;
        var Total=0;

        var quantity=document.getElementById("quantity").value;
        var price=document.getElementById("Choice").value;

        SubTotal=Quantity*Price;
        tax=SubTotal*Taxrate;
        total=SubTotal+tax;

        tax=tax.toFixed(2);
        SubTotal=SubTotal.toFixed(2);
        total=total.toFixed(2);
                <!--data back to form-->
        document.getElementById('subtotal').innerHTML="Subtotal="+subTotal;
        document.getElementById('totalTax').innerHTML="Totaltax="+tax+"(@10)";
        document.getElementById('total'). innerHTML="Total=" +total;

        alert("CheckTotal")
        }
</script>
</head>
<body>
     <script type=text/javascript></script>

    <form OnSubmit="shoppingcart()">
    <h1>Shopping cart</h1>
    Choose option
    <select>

        <option value="">Select </option>
        <option value="$20">"spin classes $20</option>
        <option value="$40"> "swimming lessons $40</option>
        <option value="$10"> Boxersize $10</option>
        <option value="$5"> protein shake $5</option>
    </select>

    <label for="session">Session:</label>
    <input type="text" name="quantity" size="1" id="session">
    <br>
    <hr>
    <div id="Subtotal">Subtotal:</div>
    <div id="Tax">Tax:</div>
    <div id="Total">Total:</div>
    <hr>
    <input type="submit" value="calculate"/>
</form>
  • 0
    Данные обратно в форму были просто комментарием
  • 0
    Спасибо, я проверю, в чем проблема сейчас
Показать ещё 3 комментария
Теги:
dom

4 ответа

2

Элементы, которые вы пытались записать, не отображаются в HTML-части вашего кода.

некоторые из них вообще не существуют, а некоторые имеют неправильную оболочку

Это мое предположение о том, что вы имели в виду:

document.getElementById('subtotal') должен быть document.getElementById('Subtotal') (с капиталом S) для соответствия имени элемента

document.getElementById('totalTax') должен быть document.getElementById('Tax')

а также

document.getElementById('total') должен быть document.getElementById('Total')

  • 0
    спасибо за ваше время, это очень полезно. Эти мелкие ошибки заставляют меня все время
0

много ошибок в вашей программе, remenber javascript is casesenstive; ваше имя элемента элемента вместо id document.getElementById("quantity").value; здесь количество - это имя не id
ваши ошибки в основном в количестве имен переменных, таких как количество, цена, цена, налоговая ставка как налог, итоговая сумма как сумма, количество в количестве
проверьте ниже код я исправить все ошибки

<script type=text/javascript>
    function shoppingcart(){
        var TaxRate=0.10;
        var Tax=0;
        var Subtotal=0;
        var Total=0;

        var quantity=Number(document.getElementById("session").value);
        var price=Number(document.getElementById("Choice").value);

        Subtotal=quantity*price;

        tax=Subtotal*TaxRate;

        total=Subtotal+tax;

        Tax=Tax.toFixed(2);

        Subtotal=Subtotal.toFixed(2);

        Total=Total.toFixed(2);
                <!--data back to form-->
        document.getElementById('Subtotal').innerHTML="Subtotal="+Subtotal;
        document.getElementById('Tax').innerHTML="Totaltax="+tax+"(@10)";
        document.getElementById('Total'). innerHTML="Total=" +total;
  }
</script>
</head>
<body>
     <script type=text/javascript></script>
    <form >
    <h1>Shopping cart</h1>
    Choose option
    <select id="Choice">
        <option value="">Select </option>
        <option value="20">"spin classes $20</option>
        <option value="40"> "swimming lessons $40</option>
        <option value="10"> Boxersize $10</option>
        <option value="5"> protein shake $5</option>
    </select>

    <label for="session">Session:</label>
    <input type="text" name="quantity" size="1" id="session">

    <br>
    <hr>
    <div id="Subtotal">Subtotal:</div>
    <div id="Tax">Tax:</div>
    <div id="Total">Total:</div>
    <hr>

    <input type="button" onClick="shoppingcart()" value="calculate"/>
</form>
0

Есть пара вещей, которые я замечаю в коде. Любой из них может быть проблемой.

1) var quantity = document.getElementById("количество"). Значение;

Я не вижу элемент с количеством id. Это имя, а не идентификатор. Идентификатор имени ввода - это сеанс.

2) Я не вижу идентификатор элемента с именем "choice". Возможно, вы забыли включить это. Помните, что getElementById ищет значения по "id", а не "name". Вам нужно будет убедиться, что вы получаете доступ к правильным "id".

как уже упоминалось

document.getElementById('subtotal').innerHTML="Subtotal="+subTotal;
document.getElementById('totalTax').innerHTML="Totaltax="+tax+"(@10)";
document.getElementById('total'). innerHTML="Total=" +total;

кто-то уже упоминал, что здесь есть проблемы. Идентификатор промежуточного итога на самом деле является итогом. Все чувствительно к регистру. Я не вижу идентификатор для totaltax. Я вижу одно для Налога, и я также не вижу id для общего числа, но для Total (обратите внимание на верхний регистр).

Ваша проблема, похоже, кроется в несоответствующих идентификаторах.

0

Имена переменных чувствительны к регистру. Вы определяете quantity, price, TaxRate, Subtotal... но используете Quantity, Price, Taxrate, SubTotal.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню