document.addEventListener("DOMContentLoaded", () => { fetch("getOwners.php").then(res => res.json().then(json => { if(json.message === "ok") { let body = ""; for (const owner of json.owners) { body += ``; } body += ``; document.querySelector("#owner").innerHTML = body; } })); fetch("getVehicles.php").then(res => res.json().then(json => { if (json.message === "ok") { let body = ""; for (const owner of json.vehicles) { body += ``; } body += ``; document.querySelector("#vehicle").innerHTML = body; } })); fetch("getOffences.php").then(res => res.json().then(json => { if (json.message === "ok") { let body = ""; for (const owner of json.offences) { body += ``; } body += ``; document.querySelector("#offence").innerHTML = body; } })); fetch("getReports.php").then(res => res.json().then(json => { if (json.message === "ok") { document.querySelector("#reportsResults thead tr").innerHTML = ""; document.querySelector("#reportsResults tbody").innerHTML = ""; for (const key of Object.keys(json.data[0])) { let header = key.substring(key.indexOf("_") + 1) header = header.charAt(0).toUpperCase() + header.slice(1); document.querySelector("#reportsResults thead tr").innerHTML += `${header}`; } let body = ""; for (const row of json.data) { body += ""; for (const key of Object.keys(row)) { body += `${(row[key] === "null" || row[key] === null) ? "N/A" : row[key]}`; } body += ""; } document.querySelector("#reportsResults tbody").innerHTML = body; } })); }); document.querySelector("#owner").addEventListener("change", e => { let inputs = document.querySelectorAll("#addOwner input"); if (e.target.value === "new") { document.querySelector("#addOwner").classList.add("shown"); for (const input of inputs) { input.setAttribute("required", ""); } } else { document.querySelector("#addOwner").classList.remove("shown"); for (const input of inputs) { input.removeAttribute("required"); } } }); document.querySelector("#vehicle").addEventListener("change", e => { let inputs = document.querySelectorAll("#addVehicle input"); if (e.target.value === "new") { document.querySelector("#addVehicle").classList.add("shown"); for (const input of inputs) { input.setAttribute("required", ""); } } else { document.querySelector("#addVehicle").classList.remove("shown"); for (const input of inputs) { input.removeAttribute("required"); } } }); document.querySelector("#reports").addEventListener("click", e => { e.preventDefault(); let formData = new FormData(); formData.append("incidentReport", document.querySelector("#incidentReport").value); formData.append("incidentDate", document.querySelector("#incidentDate").value); if (document.querySelector("#owner").value === "new") { formData.append("name", document.querySelector("#name").value); formData.append("address", document.querySelector("#address").value); formData.append("licence", document.querySelector("#licence").value); } else { formData.append("peopleID", document.querySelector("#owner").value); } if (document.querySelector("#vehicle").value === "new") { formData.append("type", document.querySelector("#type").value); formData.append("colour", document.querySelector("#colour").value); formData.append("plateNumber", document.querySelector("#plateNum").value); } else { formData.append("vehicleID", document.querySelector("#vehicle").value); } formData.append("offenceID", document.querySelector("#offence").value); fetch("newReport.php",{ method: "POST", body: formData }).then(res => res.json().then(json => { if (json.message === "ok") { window.location.reload(); } else { alert("Error adding report"); } })); });