
form di javascript ini adalah bagian dari seri tutorial javascript.
Berikut ini kode bootstrap 5 dan HTML untuk text area form
<div class="card"> <div class="card-body row"> <form id="postingForm" method="post"> <div class="mb-3"> <textarea class="form-control" rows="3" placeholder="Apa Kabar Dunia Islam Hari Ini?" name="blog" id="blog"></textarea> </div> <div class="d-flex justify-content-between align-items-center"> <div> <small class="text-muted">Anda dapat menggunakan MarkDown untuk Menulis</small> </div> <button type="button" id="uploadButton" class="btn btn-primary"><i class="bi bi-camera"></i></button> <button type="submit" class="btn btn-primary">Siarkan</button> </div> </form> <!-- Form upload (awalnya tersembunyi) --> <div class="row" id="uploadForm" style="display: none;"> <form id="uploadImageForm" method="post" enctype="multipart/form-data" class="form-group mt-3"> <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload" class="btn btn-primary"> </form> </div> </div> </div>
Anda dapat mencapai fungsionalitas yang sama dalam JavaScript dengan menggunakan event listener untuk menangani pengiriman formulir dan klik tombol. Berikut kode JavaScript yang setara untuk HTML yang diberikan:
<script> // Fungsi untuk menampilkan formulir unggah function showUploadForm() { document.getElementById("uploadForm").style.display = "block"; } // Pemantau event untuk tombol unggah document.getElementById("uploadButton").addEventListener("click", showUploadForm); // Pemantau event untuk pengiriman formulir unggahan document.getElementById("postingForm").addEventListener("submit", function (event) { event.preventDefault(); // Mencegah tindakan pengiriman formulir default // Sekarang Anda dapat melakukan tindakan tambahan di sini, seperti mengirimkan data ke server menggunakan fetch atau XMLHttpRequest. // Misalnya, Anda dapat menggunakan fetch untuk mengirim data formulir ke "fungsi/posting.php". // Gantilah ini dengan endpoint API dan data aktual Anda fetch("fungsi/posting.php", { method: "POST", body: new FormData(document.getElementById("postingForm")) }) .then(response => { if (response.ok) { // Tangani respons sukses console.log("Formulir berhasil dikirim"); // Anda dapat melakukan tindakan lebih lanjut di sini jika diperlukan } else { // Tangani respons error console.error("Pengiriman formulir gagal"); } }) .catch(error => { console.error("Error:", error); }); }); // Pemantau acara untuk pengiriman formulir unggah gambar document.getElementById("uploadImageForm").addEventListener("submit", function (event) { // Anda dapat menangani pengiriman formulir unggahan gambar di sini dengan cara yang sama seperti formulir unggahan. // Gantilah ini dengan endpoint API aktual untuk pengunggahan gambar. // Mencegah tindakan pengiriman formulir default event.preventDefault(); // Gantilah ini dengan endpoint API dan data aktual Anda fetch("posting/uploadgambar.php", { method: "POST", body: new FormData(document.getElementById("uploadImageForm")) }) .then(response => { if (response.ok) { // Tangani respons sukses console.log("Gambar berhasil diunggah"); // Anda dapat melakukan tindakan lebih lanjut di sini jika diperlukan } else { // Tangani respons error console.error("Pengunggahan gambar gagal"); } }) .catch(error => { console.error("Error:", error); }); }); </script>
Kode JavaScript ini menambahkan pemantau acara untuk menangani pengiriman formulir dan klik tombol. Saat formulir unggahan dikirim, itu mencegah tindakan pengiriman formulir default dan mengirimkan data formulir ke endpoint “fungsi/posting.php” menggunakan API fetch
. Formulir unggahan gambar ditangani dengan cara yang sama dengan mengirimkan data ke endpoint “posting/uploadgambar.php”.
Leave a Reply