我正在尝试在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="" />
感谢。
答案 0 :(得分:1)
问题在于:
<input type="text" name="Net" value="" />
未指定id
属性。如果没有id
,则document.getElementById('net');
会失败。
将其更改为:
<input type="text" id="net" value="" />
ded
是一个对象,您需要对.value
和ded
变量使用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;