[英]Javascript function returns NaN
我真的需要一些帮助。 该功能应该计算估计的收盘成本。 但由于某些原因,无论我用它做什么,结果总是“NaN”。 谁能帮我吗? 我不知道哪里出错了。
function calc_closing_costs(form) {
var purch_price = document.getElementById('purch_price');
var ont_ltt = 0;
if ((isNaN(parseInt(purch_price.value, 10))) || purch_price === "") {
alert("You must enter a number!");
} else if (parseInt(purch_price.value, 10) < 0) {
alert("You must enter a positive number!");
}
if (400000 < parseInt(purch_price.value, 10)) {
ont_ltt = (parseInt(purch_price.value, 10) - 400000) * 0.02 + 4475;
} else {
if (250000 < parseInt(purch_price.value, 10)) {
ont_ltt = (parseInt(purch_price.value, 10) - 250000) * 0.015 + 2225;
} else {
if (55000 < parseInt(purch_price.value, 10)) {
ont_ltt = (parseInt(purch_price.value, 10) - 55000) * 0.01 + 275;
} else {
ont_ltt = parseInt(purch_price.value, 10) * 0.005;
}
}
}
var legal_fees = document.getElementById('legal_fees');
var closing_adj = document.getElementById('closing_adj');
var result = document.getElementById('result');
if (purch_price.value === "" || purch_price.value != parseFloat(purch_price.value)) {
purch_price.value = 0;
}
if (legal_fees.value === "" || legal_fees.value != parseFloat(legal_fees.value)) {
legal_fees.value = 0;
}
if (closing_adj.value === "" || closing_adj.value != parseFloat(closing_adj.value)) {
closing_adj.value = 0;
}
result.value = 0;
result.value = parseInt(result.value, 10);
result.value = parseInt(ont_ltt.value, 10) + parseInt(legal_fees.value, 10) + parseInt(closing_adj.value, 10);
document.getElementById("tecc").innerHTML = result.value;
}
这个:
result.value = parseInt(ont_ltt.value, 10) + parseInt(legal_fees.value, 10) + parseInt(closing_adj.value, 10);
没有意义 - “ont_ltt”是一个JavaScript变量,而不是页面元素。
它应该只是:
result.value = ont_ltt + parseInt(legal_fees.value, 10) + parseInt(closing_adj.value, 10);
好吧, 也许它应该; 你没有发布你正在尝试做的事情的页面或整体计划。 特别是使用parseInt()
似乎有问题。 它总是会给你一个整数并截断该值的任何小数部分(小数点后的任何内容)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.