-4

次のように、jsで単純な乗算を計算しようとしています:
A * B = C
D * E = F
G * H = I
総計 = C + F + I

ただし、総計は予想をはるかに超えています。乗算に問題がありますか、それともページから値を間違って読み取っていますか?

以下は私のコードです:

<html>
<head>
<script>
  calculate = function(totalElement)
  {
      if (totalElement)
      {
          var calculation  = '';
          var overall = '';
          var fields = new Array();
          var theElement = document.getElementById(totalElement);
          var userInputs = myform.elements;
          var the_type = '';
          for (var f = 0; f < userInputs.length; f++)
          {
              if (userInputs[f].className=='special_value')
              {
                 if(userInputs[f].value != "")
                 {
                     document.getElementById("price4").value+=+userInputs[f].value;

                 }           

              }
          }


      }
  }
</script>
</head>
<body>
<form name="myform">
A<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" value="" type="text" name="price"> 
B<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" type="text" value="" name="price2"> 
C<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" type="text"value=""  name="price4" id="price4"> <Br/>
D<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" value="" type="text" name="price5"> 
E<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" type="text" value="" name="price6"> 
F<input onKeyPress="calculate('total');" onBlur="calculate('total');" class="special_value" type="text"value=""  name="price7" id="price7"> <Br/>
Total<input class="special_value" value="" id="total" type="text" name="total"> <Br/>
<!-- <div id="total"></div> -->
<input onClick="calculate('total');" type="button" name="button" value="re-calculate">
</form>
</body>
</html>
4

1 に答える 1

5

document.getElementById("price4").valueは文字列です。文字列を計算するのではなく、文字列を連結している可能性があります。

試す:parseFloat(document.getElementById("price4").value)

于 2013-03-05T19:44:39.620 に答える