我有一个带有div的页面,该页面使用分页器动态填充;-)在页面初始化时,我使用jquery .load()方法在其中加载了前10个表单。
我想做的是使用AjaxForm插件动态地更新所有表单。我知道服务器端,我们称之为update.asp。有用。
但是有几个问题:
如何首先使插件工作,因为AjaxForm似乎不适用于动态加载的div中的公司?
如何识别和命名表格?现在,我使用ID并将其命名为myForm(也许这就是为什么它不起作用的原因)。因为如果我使用名称myForm1,myForm2等...,我必须编写10个使用的ajaxForm函数:
$('#myForm').ajaxForm({
beforeSubmit: showLoader,
success: hideLoader
});
然后,我需要使用myForm1到myForm10进行10次吗?一定有另一种方式...
如何使AjaxForm处理尚未加载的页面?我认为这与1)是相同的问题。因为即使页面1也会以某种方式动态加载,所以ajaxForm不会绑定到表单。
抱歉,我对jquery还是一个陌生的人,我正在努力研究它,在我写这里之前,我尝试了一段时间。如果您能帮助我,我将非常感激。
你的
杰瑞
编辑:这是我现在的加载程序...它不能正常工作,因为从未显示加载程序,它消失得如此之快,只有将警报放在hideLoader中才能看到它:-(((
function load(num){
showLoader2();
var link='/obdelaneslike.asp?ID=<%=request.QueryString("IDRecept") %>&offset='+ num
$('#content').load(link, function(){
hideLoader2();
$('.ajax-loader').hide();
$('.myForm').bind("submit", function(event) {
$(this).ajaxForm({
beforeSubmit: showLoader($(this).find('img.ajax-loader').attr('id')),
success: hideLoader($(this).find('img.ajax-loader').attr('id'))
});
return false;
});
});
}
最佳答案
我将尝试一次解决这些问题,以更好地匹配该问题:
1)您可以在.load()
(或您使用的任何jQuery ajax方法)或使用livequery()
之类的插件时重新绑定,例如,这里是重新绑定(在success
处理程序中执行此操作):
$("#myDynamicDiv .myForm").ajaxForm({ ...options... });
或使用
livequery()
:$(".myForm").livequery(function() { $(this).ajaxForm({ ...options... }); });
2)在此处使用类而不是ID,例如:
class="myForm"
,每当您要处理诸如class
这样的元素批次时,这是一条相当安全的路线。上面的示例使用的是类,而不是每个表单的ID(它们可以有ID,只是不使用而已)。您的表单标签如下所示:<form class="myForm">
3)答案1中的相同解决方案可以解决这个问题:)
关于jquery - 如何使AjaxForm与使用jquery load()加载的几种表单一起工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3467894/