Bạn sẽ phải thực hiện mọi việc theo cách thủ công với lệnh gọi AJAX tới máy chủ. Điều này cũng sẽ yêu cầu bạn ghi đè biểu mẫu.
Nhưng đừng lo lắng, đó là một miếng bánh. Dưới đây là tổng quan về cách bạn sẽ làm việc với biểu mẫu của mình:
- ghi đè hành động gửi mặc định (nhờ đối tượng sự kiện được chuyển vào, có một
preventDefault
phương thức)
- lấy tất cả các giá trị cần thiết từ biểu mẫu
- kích hoạt một yêu cầu HTTP
- xử lý phản hồi cho yêu cầu
Trước tiên, bạn sẽ phải hủy hành động gửi biểu mẫu như sau:
$("#myform").submit(function(event) {
// Cancels the form's submit action.
event.preventDefault();
});
Và sau đó, lấy giá trị của dữ liệu. Hãy giả sử bạn có một hộp văn bản.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
});
Và sau đó đưa ra một yêu cầu. Hãy giả sử đó là một yêu cầu ĐĂNG.
$("#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.
});
});
Và điều này nên làm điều đó.
Lưu ý 2: Để phân tích cú pháp dữ liệu của biểu mẫu, bạn nên sử dụng plugin . Nó sẽ làm cho cuộc sống của bạn thực sự dễ dàng, cũng như cung cấp một ngữ nghĩa tốt đẹp bắt chước một hành động gửi biểu mẫu thực tế.
Lưu ý 2: Bạn không nhất thiết phải sử dụng bộ khử âm. Nó chỉ là một sở thích cá nhân. Bạn cũng có thể làm những việc sau và nó cũng sẽ hiệu quả.
$.post("http://somewhere.com", { val: val }, function () {
// Start partying here.
}, function () {
// Handle the bad news here.
});