Click the button to see my JS code

function calculate() {
    // Collect the data
    let bal = Number(document.getElementById("loan").value);
    let term = Number(document.getElementById("term").value);
    let rate = Number(document.getElementById("rate").value);


    // Run Calculations On Collected Data
    let totMonPmt = (bal) * (rate / 1200) / (1 - Math.pow((1 + rate / 1200), -term));
    let remBal = bal;
    let intPmt = remBal * rate / 1200;
    let prinPmt = totMonPmt - intPmt;
    let totIntPmt = 0;

    // Create table format
    let template = `
        Month
        Payment
        Principal
        Interest
        Total Interest
        Balance        
    `;


    // Loop through payments to calculate information for table (Order Matters!)

    for (let i = 1; i <= term; i++) {

        intPmt = remBal * rate / 1200;
        prinPmt = totMonPmt - intPmt;
        totIntPmt += intPmt;
        remBal = remBal - prinPmt;
        totPmt = bal + totIntPmt;

        // Output results to table 
        template += `
        ${i}
        $${totMonPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}
        $${prinPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}
        $${intPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}
        $${totIntPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}
        $${Math.abs(remBal).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}
    `
    };

    // Output to HTML
    document.getElementById("result").innerHTML = template;
    document.getElementById("termMon").innerHTML = `${term} months`
    document.getElementById("totBal").innerHTML = `$${bal.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}`
    document.getElementById("monPmt").innerHTML = `$${totMonPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}`;
    document.getElementById("intRate").innerHTML = `${rate}%`
    document.getElementById("totPmt").innerHTML = `$${totPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}`;
    document.getElementById("totInt").innerHTML = `$${totIntPmt.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')}`;

};