2010-02-05 3 views
2

Я использую плагин ajaxForm для jQuery для отправки форм на моем webapp. Тем не менее, в одной части приложения я загружаю контент, который имеет форму на нем через jQuery .load()jQuery: Привязать ajaxForm к форме на странице, загруженной через .load()

Проблема заключается в том, что я не могу получить ajaxForm для привязки к форме, загруженной через ajax.

Я попробовал этот код без толку:

$('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked 
    $("#tab2").load('ajax/viewRecord.php'); // Load the record and the form into tab 2 
    $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form 
}); 

Любая помощь очень ценится !!


Редактировать: Спасибо, ребята! Это прекрасно работает.

ответ

7

Я думаю, вы должны поставить связывающий код в функции обратного вызова, потому что нагрузка является асинхронной:

$('#viewRecordBtn').live('click', function() { // Handle the event when the 'view record' button is clicked 
    $("#tab2").load('ajax/viewRecord.php', function() { 
        $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form 
       }); // Load the record and the form into tab 2  
}); 
0
$('#viewRecordBtn').live('click', function() { 
    $("#tab2").load('ajax/viewRecord.php', function(){ 
     $('#formAddRecord').ajaxForm(formAddRecordOptions); // Bind the form 
    }); // Load the record and the form into tab 2 

}); 
1

это потому, что вы являетесь обязательным ajaxForm в то время, что .load() еще не завершено. попробуйте это:

$('#tab2').load('ajax/viewRecord.php', function() { 
    $('#formAddRecord').ajaxForm(formAddRecordOptions); 
}); 
5

Если вы используете последний JQuery Form Plugin и JQuery 1.7+ вы можете использовать опцию 'делегирование', как это:

$('#myForm').ajaxForm({ 
    delegation: true, 
    target: '#output' 
}); 

Его описанный здесь: http://malsup.github.com/jquery.form.js

+1

Это должно быть принятым ответом! Благодаря! –

+0

Я хочу обнять тебя. –

+0

Спасибо за простое решение! –