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