我正在关注一个JS教程,只是制作了一个像Chrome中的魅力一样的抵押计算器,但它在Firefox中没有任何作用。我可以得到一些帮助来解决这个问题吗? Here's the whole thing:
// Formula: c = ((p * r) * math.pow((1 + r), n)) / (math.pow((1 + r), n) - 1)
//@param p float Amount borrowed
//@param r interest as percentage
//@param n term in years
function percentToDecimal(percent) {
return (percent / 12) / 100;
}
function yearsToMonths(years) {
return years * 12;
}
function calculateMortgage(p, r, n) {
// convert this percentage to decimal:
r = percentToDecimal(r);
n = yearsToMonths(n);
var pmt = ((p * r) * Math.pow((1 + r), n)) / (Math.pow((1 + r), n) - 1);
return parseFloat(pmt.toFixed(2));
}
function postpayments(payment) {
var payments = document.getElementById("outMonthly");
payments.innerText = "$" + payment;
}
var btn = document.getElementById("btnCalculate");
btn.onclick = function () {
var cost = document.getElementById("inCost").value;
var downpayment = document.getElementById("inDown").value;
var interest = document.getElementById("inAPR").value;
var term = document.getElementById("inPeriod").value;
var amountBorrowed = cost - downpayment;
var pmt = calculateMortgage(amountBorrowed, interest, term);
postpayments(pmt);
};
答案 0 :(得分:2)
将payments.innerText
替换为payments.textContent
答案 1 :(得分:1)
如果您想在所有浏览器中使用它,一个干净的解决方案是创建一个TextNode并将其附加到视图。
function postpayments(payment) {
var payments = document.getElementById("outMonthly");
while (payments.firstChild!==null)
element.removeChild(payments.firstChild); // remove all existing content
payments.appendChild(document.createTextNode("$" + payment));
}