我的计算器出了一些奇怪的结果我已经把它添加到jsfiddle中让你们快速浏览一下。
如果我把4000作为我的本金和1年,我把1%的利息重复相同的本金和利息价值,它也会每隔一个月跳过一次,但是如果我把利率设为20%,它就会开始正确地倒数本金和利息的结果。它有点奇怪。
我认为问题在于intr变量,但我不太确定如何修复它。
function totalF(){
var body = document.body;
var tbl = document.createElement('table');
tbl.setAttribute('id', 'results');
var tblBody = document.createElement('tbody');
var tndiv = document.getElementById('tdcontainer');
for (var j = 1; j < payments; j++){
var row = document.createElement('tr');
temp = round(principal);
intr = round((monthly * payments) - principal);
while(temp>0 && intr>0){
if(tndiv != null){
var cell = document.createElement('td');
var cell2 = document.createElement('td');
var cell3 = document.createElement('td');
var ndiv = round(temp);
var intr = round((monthly * payments) - principal);
var monthlyn = j;
cell.innerHTML = ndiv;
cell2.innerHTML = monthlyn;
cell3.innerHTML = intr;
row.appendChild(cell);
row.appendChild(cell2);
row.appendChild(cell3);
j++;
}
temp-=monthly;
intr-=monthly;
tblBody.appendChild(row);
}
tbl.appendChild(tblBody);
body.appendChild(tbl);
tbl.setAttribute("border", "1");
}
}
}
答案 0 :(得分:1)
Timestamp: 17.04.2012 23:13:22
Error: document.loandata.payment is undefined
Source File: http://fiddle.jshell.net/_display/
Line: 86
请改用document.getElementById('loandata').payment
。对其他表单元素执行相同操作,甚至更好地使用var form = document.getElementById('loandata');
然后使用form.payment
等。
您还尝试在其他地方以无效方式访问元素。如果元素具有ID,请使用document.getElementById('yourId')
来访问它,而不是document.yourId
或document.someElement.yourId
。
除此之外,您需要在分号后添加缺少的引号:
<div id="visualization" style="width: 750px;></div>