// ฟังก์ชันคำนวณเงินออมเพื่อเกษียณ
function calculateRetirement() {
console.log("คำนวณเริ่มต้น");
// ดึงค่าจากฟอร์ม
let monthlySaving = parseFloat(document.getElementById("monthlySavingInput").value);
let startAge = parseInt(document.getElementById("startAgeInput").value);
let retirementAge = parseInt(document.getElementById("retirementAgeInput").value);
let inflationRate = parseFloat(document.getElementById("inflationRateInput").value) / 100;
console.log("ข้อมูลที่ได้รับ", monthlySaving, startAge, retirementAge, inflationRate);
// เลือกโหมดค่าใช้จ่าย
let expenseMode = document.getElementById("expenseModeSelect").value;
let totalExpense;
if (expenseMode === "simple") {
let consumptionExpense = parseFloat(document.getElementById("consumptionExpenseInput").value);
let nonConsumptionExpense = parseFloat(document.getElementById("nonConsumptionExpenseInput").value);
totalExpense = consumptionExpense + nonConsumptionExpense;
} else {
let food = parseFloat(document.getElementById("foodExpenseInput").value);
let supplies = parseFloat(document.getElementById("suppliesExpenseInput").value);
let medical = parseFloat(document.getElementById("medicalExpenseInput").value);
let transport = parseFloat(document.getElementById("transportExpenseInput").value);
let other = parseFloat(document.getElementById("otherExpenseInput").value);
totalExpense = food + supplies + medical + transport + other;
}
console.log("ค่าใช้จ่ายรวม", totalExpense);
// คำนวณเงินออมรวม
let yearsToSave = retirementAge - startAge;
let totalSavings = monthlySaving * 12 * yearsToSave;
console.log("ยอดเงินออมรวม", totalSavings);
// คำนวณค่าใช้จ่ายรายปีและเงินออมที่เหลือ
let totalExpensePerYear = totalExpense * 12;
let totalYears = 0;
let remainingSavings = totalSavings;
while (remainingSavings > 0) {
remainingSavings -= totalExpensePerYear;
totalExpensePerYear *= (1 + inflationRate);
totalYears++;
}
console.log("สามารถใช้เงินได้", totalYears, "ปีหลังเกษียณ");
// แสดงผลลัพธ์
let resultText = `ยอดเงินออมรวมจนถึงอายุเกษียณ: ${totalSavings.toLocaleString()} บาท<br>`;
resultText += `คุณสามารถอยู่ได้ประมาณ ${totalYears} ปีหลังเกษียณจากเงินออมของคุณ`;
if (totalYears < 20) {
resultText += "<br><span class='error'>⚠️ เงินออมไม่พอ อาจต้องออมเพิ่ม</span>";
} else {
resultText += "<br><span class='success'>🎉 ยินดีด้วย! เงินออมเพียงพอ</span>";
}
document.getElementById("resultOutput").innerHTML = resultText;
}
// การเปลี่ยนโหมดค่าใช้จ่าย
document.getElementById("expenseModeSelect").addEventListener("change", function() {
let expenseMode = this.value;
if (expenseMode === "simple") {
document.getElementById("simpleExpense").style.display = "block";
document.getElementById("detailedExpense").style.display = "none";
} else {
document.getElementById("simpleExpense").style.display = "none";
document.getElementById("detailedExpense").style.display = "block";
}
});
ผมเขียนเว็บแล้วมันไม่สามารถคำนวณได้ผมควรแก้อะไรหรอครับ
function calculateRetirement() {
console.log("คำนวณเริ่มต้น");
// ดึงค่าจากฟอร์ม
let monthlySaving = parseFloat(document.getElementById("monthlySavingInput").value);
let startAge = parseInt(document.getElementById("startAgeInput").value);
let retirementAge = parseInt(document.getElementById("retirementAgeInput").value);
let inflationRate = parseFloat(document.getElementById("inflationRateInput").value) / 100;
console.log("ข้อมูลที่ได้รับ", monthlySaving, startAge, retirementAge, inflationRate);
// เลือกโหมดค่าใช้จ่าย
let expenseMode = document.getElementById("expenseModeSelect").value;
let totalExpense;
if (expenseMode === "simple") {
let consumptionExpense = parseFloat(document.getElementById("consumptionExpenseInput").value);
let nonConsumptionExpense = parseFloat(document.getElementById("nonConsumptionExpenseInput").value);
totalExpense = consumptionExpense + nonConsumptionExpense;
} else {
let food = parseFloat(document.getElementById("foodExpenseInput").value);
let supplies = parseFloat(document.getElementById("suppliesExpenseInput").value);
let medical = parseFloat(document.getElementById("medicalExpenseInput").value);
let transport = parseFloat(document.getElementById("transportExpenseInput").value);
let other = parseFloat(document.getElementById("otherExpenseInput").value);
totalExpense = food + supplies + medical + transport + other;
}
console.log("ค่าใช้จ่ายรวม", totalExpense);
// คำนวณเงินออมรวม
let yearsToSave = retirementAge - startAge;
let totalSavings = monthlySaving * 12 * yearsToSave;
console.log("ยอดเงินออมรวม", totalSavings);
// คำนวณค่าใช้จ่ายรายปีและเงินออมที่เหลือ
let totalExpensePerYear = totalExpense * 12;
let totalYears = 0;
let remainingSavings = totalSavings;
while (remainingSavings > 0) {
remainingSavings -= totalExpensePerYear;
totalExpensePerYear *= (1 + inflationRate);
totalYears++;
}
console.log("สามารถใช้เงินได้", totalYears, "ปีหลังเกษียณ");
// แสดงผลลัพธ์
let resultText = `ยอดเงินออมรวมจนถึงอายุเกษียณ: ${totalSavings.toLocaleString()} บาท<br>`;
resultText += `คุณสามารถอยู่ได้ประมาณ ${totalYears} ปีหลังเกษียณจากเงินออมของคุณ`;
if (totalYears < 20) {
resultText += "<br><span class='error'>⚠️ เงินออมไม่พอ อาจต้องออมเพิ่ม</span>";
} else {
resultText += "<br><span class='success'>🎉 ยินดีด้วย! เงินออมเพียงพอ</span>";
}
document.getElementById("resultOutput").innerHTML = resultText;
}
// การเปลี่ยนโหมดค่าใช้จ่าย
document.getElementById("expenseModeSelect").addEventListener("change", function() {
let expenseMode = this.value;
if (expenseMode === "simple") {
document.getElementById("simpleExpense").style.display = "block";
document.getElementById("detailedExpense").style.display = "none";
} else {
document.getElementById("simpleExpense").style.display = "none";
document.getElementById("detailedExpense").style.display = "block";
}
});