2014-04-21 2 views
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

데이터는 단지 의견이었습니다 – user3484893

+0

지금은 문제가 무엇인지 확인해야합니다 – user3484893

+1

ID 수량과 선택 사항이있는 요소를 얻으려고하고 있으며 HTML에 이러한 요소가 없습니다. – user3417400

답변

2

요소는 전혀 존재하지 않는 코드

그들 중 일부의 HTML 부분에 표시되지 않습니다 일부는 이것은

잘못 케이스를 당신이 무엇을 의미하는지에 대한 내 생각 :

document.getElementById('subtotal')document.getElementById('Subtotal') (대문자 S로)해야한다는 요소의 이름과 일치하는

document.getElementById('totalTax')document.getElementById('Tax')

document.getElementById('total')

document.getElementById('Total')

+0

시간 내 주셔서 감사합니다. 매우 도움이됩니다. 이 작은 오류는 항상 나를 잡아 먹는다. – user3484893

0

변수 이름은 대소 문자를 구분해야해야한다. 당신은 quantity, price, TaxRate, Subtotal ... 정의하지만 Quantity, Price, Taxrate, SubTotal를 사용합니다.

0

프로그램에 많은 오류가 있습니다. 잠김 JavaScript는 casesenstive입니다. ID document.getElementById("quantity").value; 대신에 복용 요소 ​​이름은 여기에 양 이름하지
이 오류가 변수 이름에 주로 수량으로 수량, 소계 등의 가격, Taxrate 같은 TaxRate, 소계 등의 가격, 수량 등의 수량입니다 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 수량 = document.getElementById ("수량"). 값;

id 수량의 요소가 표시되지 않습니다. 그것이 이드가 아니라 이름입니다. 입력 이름 수량의 ID는 세션입니다.

2) "choice"라는 요소 ID가 표시되지 않습니다. 어쩌면 당신은 그것을 포함하는 것을 잊었을 것입니다. getElementById가 "name"이 아닌 "id"로 값을 찾고 있음을 기억하십시오. 당신은 당신이 올바른 "이드"에 액세스하고 있는지 확인해야 할 것입니다. 누군가가 이미 언급 한 바와 같이

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

누군가가 이미 문제가 여기에있다 언급했다. 소계의 ID는 실제로 소계입니다. 모든 것은 대소 문자를 구분합니다. 나는 총계에 대한 이드의 모습을 보지 못했다. 나는 세금에 대해 하나를보고 총계에 대한 이드를 보지 않고 총계 (대문자에 유의)를 표시합니다.

문제가 일치하지 않는 것 같습니다.