2014-02-26 145 views
0

我想在Javascript中減去2個值。我有加法工作,然後我只是複製減法的代碼(我只是改變了操作符)。但我想知道爲什麼減法不起作用。你能告訴我我錯過了什麼嗎?我在Javascript中的減法代碼不工作

下面的代碼:

<script language="javascript"> 
      function subNumbers() 
      { 
        var gross = parseFloat(document.getElementById("Gross").value); 
        var tax = parseFloat(document.getElementById("Tax").value); 
        var other = parseFloat(document.getElementById("Other").value); 
        var ded = document.getElementById("TotalDed"); 
        ded.value = tax + other; 
        var net = document.getElementById("Net"); 
        net.value = gross - ded; 
      } 
    </script> 

然後在HTML的一部分:

<input onchange="subNumbers()" type="text" id="Gross" name="Gross" value="" /> 
<input onchange="subNumbers()" type="text" id="Tax" name="Tax" value="" /> 
<input onchange="subNumbers()" type="text" id="Other" name="Other" value="" /> 
<input onchange="subNumbers()" type="text" id="TotalDed" name="TotalDed" value="" /> 
<input type="text" name="Net" value="" /> 

感謝。

回答

0
<input type="text" name="Net" value="" /> 

成爲

<input type="text" name="Net" id="Net" value="" /> 

net.value = gross - ded; 

成爲

net.value = gross - ded.value; 
1

的問題是:

<input type="text" name="Net" value="" />

指定的id屬性沒有。沒有iddocument.getElementById('net');失敗。

將其更改爲:

<input type="text" id="net" value="" />

而且ded是一個對象,你需要使用.value兩個dednet變量。

+0

喔,是我的錯。謝謝 – Innistrad

+0

沒問題,如果它對你有幫助,請投票。 :) – Aashray