Rumah >hujung hadapan web >tutorial js >Membina Penganggar Kos Bilik dengan JavaScript
Pertama, kita perlu menangkap apa yang pengguna serahkan dalam borang. Kami akan menggunakan JavaScript untuk menghalang halaman daripada dimuat semula apabila borang diserahkan, membolehkan kami mengendalikan pengiraan tanpa kehilangan input.
document.getElementById("costForm").addEventListener("submit", function (event) { event.preventDefault(); // Prevents the page from reloading // 1. Get the values from the form const name = document.getElementById("name").value; const checkInDate = document.getElementById("checkInDate").value; const nights = parseInt(document.getElementById("nights").value); const roomType = document.querySelector('input[name="roomType"]:checked').value; const discount = document.querySelector('input[name="discount"]:checked').value; const adults = parseInt(document.getElementById("adults").value); const children = parseInt(document.getElementById("children").value); // 2. Check room occupancy const maxOccupancy = getMaxOccupancy(roomType); if (adults + children > maxOccupancy) { document.getElementById("messageDiv").innerText = `The room you selected cannot hold your group. Max occupancy is ${maxOccupancy}.`; return; } // 3. Clear previous messages and calculate the cost document.getElementById("messageDiv").innerText = ""; calculateCost(roomType, checkInDate, nights, discount); });
Sekarang, mari buat fungsi yang menyemak bilangan orang yang boleh tinggal di setiap jenis bilik. Fungsi ini penting kerana bilik hotel mempunyai had pada bilangan tetamu yang boleh mereka tampung.
function getMaxOccupancy(roomType) { if (roomType === "queen") { return 5; // Queen rooms can hold up to 5 people } else if (roomType === "king") { return 2; // King rooms can hold up to 2 people } else if (roomType === "suite") { return 6; // 2-Bedroom Suites can hold up to 6 people } }
Seterusnya, kami mengira kadar bilik setiap malam berdasarkan tarikh daftar masuk dan jenis bilik. Kadarnya lebih tinggi semasa musim sibuk (Jun hingga Ogos) dan lebih rendah pada sepanjang tahun.
document.getElementById("costForm").addEventListener("submit", function (event) { event.preventDefault(); // Prevents the page from reloading // 1. Get the values from the form const name = document.getElementById("name").value; const checkInDate = document.getElementById("checkInDate").value; const nights = parseInt(document.getElementById("nights").value); const roomType = document.querySelector('input[name="roomType"]:checked').value; const discount = document.querySelector('input[name="discount"]:checked').value; const adults = parseInt(document.getElementById("adults").value); const children = parseInt(document.getElementById("children").value); // 2. Check room occupancy const maxOccupancy = getMaxOccupancy(roomType); if (adults + children > maxOccupancy) { document.getElementById("messageDiv").innerText = `The room you selected cannot hold your group. Max occupancy is ${maxOccupancy}.`; return; } // 3. Clear previous messages and calculate the cost document.getElementById("messageDiv").innerText = ""; calculateCost(roomType, checkInDate, nights, discount); });
Akhir sekali, kami mengira jumlah kos penginapan. Kami menggunakan sebarang diskaun dan kemudian menambah cukai untuk mendapatkan jumlah akhir.
function getMaxOccupancy(roomType) { if (roomType === "queen") { return 5; // Queen rooms can hold up to 5 people } else if (roomType === "king") { return 2; // King rooms can hold up to 2 people } else if (roomType === "suite") { return 6; // 2-Bedroom Suites can hold up to 6 people } }
Dan itu sahaja! Kami telah membina Penganggar Kos Bilik yang ringkas tetapi berfungsi menggunakan JavaScript.
Repo GitHub saya untuk kod ini ada di sini! Termasuk HTML asas dan penggayaan Bootstrap untuk halaman
Thounny Keo
Pembangun & Pereka Kreatif
Pelajar Pembangunan Frontend | Year Up United
Atas ialah kandungan terperinci Membina Penganggar Kos Bilik dengan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!