如何通过AJAX提交动态添加的表单

时间:2012-04-14 21:22:51

标签: javascript jquery forms

我正在使用jQuery 1.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()函数无法使用表单提交事件。

任何想法?

由于

1 个答案:

答案 0 :(得分:1)

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

请参阅下面的链接,例如使用动态添加的表单。

http://jsfiddle.net/m9VVR/