我在Javascript中的减法代码不起作用

时间:2014-02-26 11:43:22

标签: javascript subtraction

我正在尝试在Javascript中减去2个值。我有加法工作,然后我只是复制了减法代码(我只是更改了运算符)。但我想知道为什么减法不起作用。你能告诉我我错过了什么吗?

以下是代码:

<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="" />

感谢。

2 个答案:

答案 0 :(得分:1)

问题在于:

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

未指定id属性。如果没有id,则document.getElementById('net');会失败。

将其更改为:

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

ded是一个对象,您需要对.valueded变量使用net

答案 1 :(得分:0)

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

变为

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

net.value = gross - ded;

变为

net.value = gross - ded.value;