Anda harus melakukan sesuatu secara manual dengan panggilan AJAX ke server. Ini akan meminta Anda untuk mengganti formulir juga.
Tapi jangan khawatir, ini sangat mudah. Berikut ikhtisar tentang bagaimana Anda akan bekerja dengan formulir Anda:
- ganti tindakan pengiriman default (berkat objek acara yang diteruskan, yang memiliki
preventDefault
metode)
- ambil semua nilai yang diperlukan dari formulir
- jalankan permintaan HTTP
- menangani tanggapan atas permintaan tersebut
Pertama, Anda harus membatalkan tindakan pengiriman formulir seperti ini:
$("#myform").submit(function(event) {
// Cancels the form's submit action.
event.preventDefault();
});
Dan kemudian, ambil nilai datanya. Anggap saja Anda memiliki satu kotak teks.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
});
Dan kemudian berikan permintaan. Anggap saja itu permintaan POST.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
// I like to use defers :)
deferred = $.post("http://somewhere.com", { val: val });
deferred.success(function () {
// Do your stuff.
});
deferred.error(function () {
// Handle any errors here.
});
});
Dan ini harus melakukannya.
Catatan 2: Untuk mengurai data formulir, sebaiknya Anda menggunakan plugin . Ini akan membuat hidup Anda sangat mudah, serta memberikan semantik bagus yang meniru tindakan pengiriman formulir yang sebenarnya.
Catatan 2: Anda tidak harus menggunakan penunda. Itu hanya preferensi pribadi. Anda sama-sama dapat melakukan hal berikut, dan ini juga akan berhasil.
$.post("http://somewhere.com", { val: val }, function () {
// Start partying here.
}, function () {
// Handle the bad news here.
});