Question: When I click the button the console flash for blink second, and I can't see the error. I don't know why the button does not
When I click the button the console flash for blink second, and I can't see the error. I don't know why the button does not show anything. The clear button clears for just a blink second then the default value appears again immediately.
HTML: "
" here is JS:
"
var AnnualSaving = 0;
var InterestRate = 0;
var CompoundingYears = 0;
var StartYear = 0;
var StopYear = 0;
var detailtable;
function getNumValue(id) {
return Number(document.getElementById(id).value);
}
function clearResultsTable(table) {
for (var i = table.rows.length; i > 1; i--) {
table.deleteRow(i-1);
}
}
function clearInputs(form) {
// alert("function clearInputs() is running");
var formElements = form.elements;
for (var i=0; i< formElements.length; i++)
formElements[i].value="";
}
function loadDefaults(form) {
// alert("function loadDefaults() is running");
form.reset();
}
function runComparison(form) {
var StartAge = document.getElementById('StartAge');
var StopAge = document.getElementById('StopAge');
var StartSalary = document.getElementById('StartSalary');
var AnnualSaving = document.getElementById('AnnualSaving');
var AnnualRaise = document.getElementById('AnnualRaise');
var InterestRate = document.getElementById('InterestRate');
var retirement = 0;
var interest = 0;
var totalSaving = 0;
var totalSalary = 0;
var totalInterest = 0;
var tableRowNumber = 1; // start after the heading, row 0
console.log(StartAge);
console.log(StopAge);
console.log(StartSalary);
console.log(AnnualSaving);
console.log(AnnualRaise);
console.log(AnnualSaving);
clearResultsTable(detailtable);
for (var age = StartAge; age <= StopAge; age++) {
totalSalary += StartSalary;
savings = StartSalary * AnnualSaving/100;
totalSaving += savings;
retirement += savings;
interest = totalSaving * InterestRate/100;
retirement += interest;
totalInterest += interest;
var row = detail-table.insertRow(tableRowNumber);
var cell0 = row.insertCell(0);
var cell1 = row.insertCell(1);
var cell2 = row.insertCell(2);
var cell3 = row.insertCell(3);
var cell4 = row.insertCell(4);
cell0.innerHTML = formatNumberWithCommas(age);
cell1.innerHTML = formatNumberWithCommas(StartSalary);
cell2.innerHTML = formatNumberWithCommas(savings);
cell3.innerHTML = formatNumberWithCommas(interest);
cell4.innerHTML = formatNumberWithCommas(retirement);
tableRowNumber++;
StartSalary = StartSalary * (1 + AnnualRaise/100);
}
YeartoInvest.innerHTML = age;
RetirementFund.innerHTML = formatNumberWithCommas(retirement);
LifetimeSalary.innerHTML = formatNumberWithCommas(totalSalary);
TotalSaved.innerHTML = formatNumberWithCommas(totalSaving);
EarnedInterest.innerHTML = formatNumberWithCommas(totalInterest);
}
function leftPadString(string, padChar, length) {
var resultString = string;
if (padChar.length != 1) {
alert("call to LeftPadString() with bad value for padChar,"
+ " can lead to infinite loop");
}
while (resultString.length < length) {
resultString = padChar + resultString;
}
return resultString;
}
function formatNumberWithCommas(num) {
var resultString = "";
var numString = num.toFixed(0);
var commaArray = [];
var revArray = numString.split("").reverse();
var i = 1;
while (revArray.length > 0) {
commaArray = commaArray.concat(revArray.shift())
if (i%3 === 0 && revArray.length !== 0) {
commaArray = commaArray.concat([","]);
}
i=i+1;
}
resultString = commaArray.reverse().join('');
return resultString;
}
"
