document.getElementById("pengaduanForm").addEventListener("submit", function(event){ event.preventDefault(); const nama = document.getElementById("nama").value; const no_hp = document.getElementById("no_hp").value; const email = document.getElementById("email").value; const alamat = document.getElementById("alamat").value; const kategori = document.getElementById("kategori").value; const isi = document.getElementById("isi").value; const fileInput = document.getElementById("lampiran"); const file = fileInput.files[0]; if(file){ const reader = new FileReader(); reader.onload = function(e){ // e.target.result is base64 data URL like: data:image/png;base64,iVBORw0... // kita ambil yang setelah "base64," const base64String = e.target.result.split(",")[1]; kirimData(base64String, file.type); }; reader.readAsDataURL(file); } else { kirimData(null, null); } function kirimData(base64, contentType){ const payload = { nama, no_hp, email, alamat, kategori, isi, lampiranBase64: base64, // bisa null kalau gak ada file lampiranContentType: contentType // bisa null juga }; fetch("https://script.google.com/macros/s/AKfycbxNr7hjkXqLccfiXJ-ofNCJ1GoJcJ_ZtEtcpJOwSAX69QYbzN3pOLIgzLJci1mc0KuZ/exec", { // Ganti URL Apps Script lo method: "POST", body: JSON.stringify(payload), headers: { "Content-Type": "application/json" } }) .then(res => res.json()) .then(data => { if(data.status === "success"){ alert("Data berhasil dikirim!"); document.getElementById("pengaduanForm").reset(); } else { alert("Error: " + data.message); } }) .catch(err => alert("Gagal kirim data: " + err.message)); } });