我有一个带有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/

10-12 12:24
查看更多