我正在使用jQuery的ajaxForm插件在我的webapp上提交表单。但是,在应用程序的一个部分中,我正在通过jQuery的.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
});
任何帮助都非常感谢!!
编辑:谢谢你们!这非常有效。
答案 0 :(得分: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
});
答案 1 :(得分:5)
如果您使用最新的jQuery Form Plugin和jQuery 1.7+,您可以使用'delegation'选项,如下所示:
$('#myForm').ajaxForm({
delegation: true,
target: '#output'
});
答案 2 :(得分:1)
这是因为您在.load()
尚未完成时绑定了ajaxForm。试试这个:
$('#tab2').load('ajax/viewRecord.php', function() {
$('#formAddRecord').ajaxForm(formAddRecordOptions);
});
答案 3 :(得分: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
});