2010-09-26 32 views
7

Vì vậy, tôi đang quay một "chỉnh sửa" hình thức vào một ajaxForm như sau:Plugin jQuery Form - cách tạo ajaxForm() "live"?

$('#reviewForm').ajaxForm({ 
    success: function (response) { 
     $('#bookReview').html(response); 
    } 
}); 

này trả về hình thức tương tự, có thể được chỉnh sửa lần nữa, nếu cần thiết. Tuy nhiên, việc gửi biểu mẫu thứ hai không còn có ajaxForm() gắn liền với nó, điều này có ý nghĩa.

Làm cách nào để đảm bảo biểu mẫu này luôn là ajaxForm, cho dù có bao nhiêu lần gửi đã diễn ra, tương tự như cách hàm live() hoạt động?

Trả lời

7

Bạn có thể có thể bao gồm các cuộc gọi ajaxForm trong phản ứng như:

<!-- the html for the form --> 
<script type="text/javascript"> 
    $('#reviewForm').ajaxForm(); 
</script> 

hoặc bạn có thể làm điều đó như một phần của chức năng thành công:

function ajaxify(response, status, xhr, form){ 
    var review = $('#bookReview').html(response); 
    $('form#reviewForm', review).ajaxForm({ 
     'success': ajaxify 
    }); 
} 

$('#reviewForm').ajaxForm({ 
    'success': ajaxify 
}); 

Tôi khuyên bạn nên sau này.

+1

Hmmm, với cái thứ hai, không phải là nó thiếu một số thông tin. cuối cùng? Nó giống như một dự phòng không bao giờ kết thúc, phải không? – asfsadf

+0

Oh tôi thấy những gì bạn đang nói ... tốt, bạn chỉ có thể làm cho nó một chức năng khác ... cập nhật bệnh – prodigitalson

+0

Não của tôi là ở hải lý. 4 tham số đến từ đâu? Javascript hoàn toàn xa lạ với tôi. Cảm ơn. – asfsadf

11
$('#myFormId').live('submit', function() { 
    // submit the form 
    $(this).ajaxSubmit(); 
    // return false to prevent normal browser submit and page navigation 
    return false; 
}); 

Ví dụ được sửa đổi ngắn gọn cho ajaxGửi từ http://jquery.malsup.com/form/#api.

2

thử này

$('#reviewForm').live('submit', function() { 
    $(this).ajaxSubmit({ 
     success:function(){ 
      $('#bookReview').html(response); 
     }, 
     resetForm:true 
    }); 
    return false; 
}); 
7

Từ các tài liệu:

đoàn

đúng để cho phép hỗ trợ cho đoàn sự kiện đòi hỏi jQuery v1.7 +

// prepare all existing and future forms for ajax submission 
$('form').ajaxForm({ 
    delegation: true 
}); 
+0

Bạn có thể vui lòng cung cấp liên kết đến tài liệu mà bạn tìm thấy điều này không? Tôi đã tìm kiếm tại http://www.malsup.com/jquery/form/ và thậm chí không có từ 'phái đoàn ' – user907860

+0

https://github.com/malsup/form – younes0

+0

Giải pháp thực sự dễ dàng, làm việc tốt cho tôi, cảm ơn bạn. – jonaglon

Các vấn đề liên quan