Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过AJAX提交dunamically添加的表单_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 如何通过AJAX提交dunamically添加的表单

Javascript 如何通过AJAX提交dunamically添加的表单,javascript,jquery,forms,Javascript,Jquery,Forms,我正在使用jquery1.6这样的东西提交表单: jQuery('form.AjaxForm').submit( function() { $.ajax({ url : $(this).attr('action'), type : $(this).attr('method'), dataType: 'json', data : $(this).serialize(), success :

我正在使用
jquery1.6
这样的东西提交表单:

jQuery('form.AjaxForm').submit( function() {

    $.ajax({
        url     : $(this).attr('action'),
        type    : $(this).attr('method'),
        dataType: 'json',
        data    : $(this).serialize(),
        success : function( data ) {                    
                    alert("success");   
                  },
        error   : function( xhr, err ) {
                    alert("error");                     
                  }
    });

    return false;
});
上面的jQuery代码对我来说非常适合

现在的问题是,我的表单是动态添加到网页上的。在这种情况下,上述代码不起作用。我还尝试了
.live()
函数,但它仍然不适用于我:

// Ajax Forms
jQuery('form.AjaxForm').live( 'submit', function() {            
    // using jquery $.ajax() here;
    return false;
});
我不知道为什么
.live()
函数不能处理表单提交事件

有什么想法吗


谢谢

您的设置一定有问题,jQuery工作正常,请仔细检查您的类名,确保在DOM就绪($(function(){};)和所有常规测试之后调用jQuery

请参阅下面的链接,了解如何使用动态添加的表单


您确定在将表单添加到页面后调用该代码吗?如果代码运行时表单不在那里,它肯定不会工作。另外,发布用于添加表单的代码也会有所帮助。@GabrielSantos:jsfiddles通过AJAX返回整个表单并不容易是的,但有些代码非常有用。添加了完整的代码,但当我使用
.live()
时,它什么都不做。您使用的是
$(document).ready(function(){…})
?当我使用
jQuery('form.AjaxForm').submit(function(){}
但当我将其更改为
jQuery('form.AjaxForm').live('submit',function(){})时,同样的设置也在运行
,它什么也不做。即使正常情况下也不提交表单如果表单没有动态插入到页面中,那么它的设置就不一样了。如果检查差异,两个页面的呈现是否完全相同?因为从小提琴上可以看出,它与插入的表单一样工作,因此不能是jquery。