在jQuery中通过AJAX提交表单

Stu*_*ent 20 javascript forms ajax jquery

我正在使用以下jQuery代码通过AJAX提交表单.

jQuery('form.AjaxForm').submit( function() {            
        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            dataType: 'json',
            data    : $(this).serialize(),
            success : function( data ) {
                        alert('Submitted')
                      },
            error   : function( xhr, err ) {
                        alert(''Error);     
                      }
        });    
        return false;
    });
Run Code Online (Sandbox Code Playgroud)

代码与没有ajax完美配合.但是如果我通过ajax加载表单则不起作用.我认为这是因为在加载JavaScript后通过ajax加载表单.

有解决方案吗

ade*_*neo 39

如果使用jQuery 1.7+,您可以尝试使用.on()委托事件并绑定到具有相同类的所有未来表单.尝试找到未动态插入的最近父级而不是$(文档).

$(document).on('submit', 'form.AjaxForm', function() {            
        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            dataType: 'json',
            data    : $(this).serialize(),
            success : function( data ) {
                         alert('Submitted');
            },
            error   : function( xhr, err ) {
                         alert('Error');     
            }
        });    
        return false;
    });
Run Code Online (Sandbox Code Playgroud)