2010-02-05 25 views
2

我正在使用jQuery的ajaxForm插件在我的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。试试这个:

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

如果你使用最新的jQuery表单插件和jQuery 1.7+您可以使用 '委派' 选项,如:

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

它在这里描述:http://malsup.github.com/jquery.form.js

+1

这应该被接受的答案!谢谢! – 2013-02-14 22:06:17

+0

我想拥抱你。 – 2013-02-20 12:19:15

+0

感谢您的简单解决方案! – 2014-06-29 14:37:48

相关问题