2014-10-06 2 views
0

왜 그런지는 모르겠지만 오렌지 만이 내가 만든 형태로 계산하는 것처럼 보이지만, 내가 지정한 다른 과일은 계산하지 않습니다. 각 열매마다 각 .value가 지정되어 있습니다. 모든 과일의 형태는 논리적으로 내가 볼 수있는 것과 동일하므로 왜 내가 수박이나 파인애플에서 결과를 얻지 못하는지 이해하지 못합니다.자바 스크립트 - 여러 값으로 양식을 만들었지 만 한 개만 계산하는 중입니까?

<html xmlns = "http://www.w3.org/1999/xhtml"> 
<head> 

<title> Purchase Orange </title> 
    <!-- Script for the event handlers --> 

     <script type = "text/javascript"> 
      // The event handler function to compute the cost 

      function computeCost() { 
       var orange = document.getElementById("orange").value; 
       // Compute the cost 
       document.getElementById("cost").value = orange * 1.99; 


       var watermelon = document.getElementById("Watermelon").value; 
       document.getElementById("cost").value = watermelon * 4.99; 

       var pineapple = document.getElementById("Pineapple").value; 
       document.getElementById("cost").value = pineapple * 4.69; 



      } //* end of computeCost 
     </script> 

</head> 

<body> 

<form> 
    Orange $1.99/lb <input type = "text" id = "orange" size ="3" /> 
    <br /> 

</form> 

<form> 
    Watermelon $4.99/lb <input type = "text" id = "watermelon" size ="3" /> 
    <br /> 

</form> 

<form> 
    Pineapple $4.69/lb <input type = "text" id = "pineapple" size ="3" /> 
    <br /> 
</form> 

<form>  
    Total Cost is <input type = "text" id = "cost" size ="5" /> 
    <br /> 
</form> 

<form>  
    <input type = "button" value = "Total Cost" onclick="computeCost();"/> 
</form> 

</body> 

+0

소계를 얻고 싶습니까? –

+0

현장에서 각 과일을 얻고 싶습니다. 지금까지 계산 된 유일한 합계는 오렌지색이지만 다른 과일은 아닙니다. 코드를 실행할 때 과일마다 필드가 있으며, 각 필드에는 수량을 입력 할 수있는 상자가 있습니다. 오렌지는 내가 지정한 1.99의 가격으로 계산하고 계산은 내가 만든 전체 필드로 이동합니다. 그러나 그것은 파인애플과 수박에 대해서는 그렇게하지 않습니다. – user3577397

+0

ID를 올바르게 작성한 후에 모든 변수를 합산해야합니다. –

답변

2

당신의 ID가에서 간단한/자본 문제를 발견 작은 fiddle했다, 이것 좀 봐.

 function computeCost() { 
      var orange = document.getElementById("orange").value; 
      // Compute the cost 
      var a = orange * 1.99; 


      var watermelon = document.getElementById("watermelon").value; 
      var b = watermelon * 4.99; 

      var pineapple = document.getElementById("pineapple").value; 
      var c = pineapple * 4.69; 

      var total = eval(a + b + c); 

      document.getElementById("cost").value = total;     


     } //* end of computeCost 
+0

아 고마워! 나는 내가 잘못한 것을 본다. a, b, c를 넣고 각 과일에 할당하면 더 쉽게 사용할 수 있습니다. 그리고 나서 eval (a + b + c)가 합계를 돕습니다. 감사합니다 :) 나는 내가 upvotes를 줄 수 있었으면 좋겠다. – user3577397

1

<?xml version = "1.0"?> 

이 문제는 잘못된 아이디의를 사용하고 있습니다 :

사용 :

var watermelon = document.getElementById("watermelon").value; 
var pineapple = document.getElementById("pineapple").value; 

대신 :

이 values.like 계산 모두의
 var watermelon = document.getElementById("Watermelon").value; 
     var pineapple = document.getElementById("Pineapple").value; 

디스플레이 합계 :

var grandtotal =pineapple+ watermelon+orange; 
     document.getElementById("cost").value = grandtotal;  
+0

방금 ​​시도했습니다. 이제 아무 것도 계산되지 않습니다. 나는 무엇이 잘못되었는지 알 수 없다. 위의 내 게시물을 편집합니다.이 오류를 일으키는 스크립트입니까? – user3577397

+0

콘솔에 오류가 표시됩니다. –

0

변화 getDocumentById 민감한 키 때문에 나는이이라고 생각 아이디

var watermelon = document.getElementById("watermelon").value; 

var pineapple = document.getElementById("pineapple").value; 
0

의 경우. 과 같은 ID를 작성했습니다 : pineapplewatermelon 및 대문자 (예 : PineappleWatermelon)로 확인하십시오.