Jquery 捕获生成表单的提交,以便用户在div中看到处理后的结果

Jquery 捕获生成表单的提交,以便用户在div中看到处理后的结果,jquery,ajax,bind,document-ready,Jquery,Ajax,Bind,Document Ready,用户单击菜单,并使用以下代码,将菜单$.load()s链接到它的内容: $(function() { $('#menu a').click(function() { $('#content').load(this.href); return false; }); }); 好的,现在表单已经加载。还有一个问题。提交表单时,结果不应将我们带到真正的操作地址。因此,我使用以下代码: $('#content').on('submit', functi

用户单击菜单,并使用以下代码,将菜单
$.load()
s链接到它的内容:

$(function() {
    $('#menu a').click(function() {
        $('#content').load(this.href);  
        return false;
    });
});
好的,现在表单已经加载。还有一个问题。提交表单时,结果不应将我们带到真正的
操作
地址。因此,我使用以下代码:

$('#content').on('submit', function() { // catch the form's submit event
    alert('begin');
    $.ajax({ // create an AJAX call...
        data: $(this).serialize(), // get the form data
        type: $(this).attr('method'), // GET or POST
        url: $(this).attr('action'), // the file to call
        success: function(response) { // on success..
            alert('aaaa');
            $('#content').html(response); // update the DIV
        }
    });
    return false; // cancel original event to prevent form submitting
}); 
不幸的是,上的
未被调用,并且
警报('begin')不工作


多亏了

我才进入了代码的第一个和平期,而不是在
$(document).ready(function(){})并且它工作得非常完美,但是如果没有准备好文档,第二个代码就无法工作

但是为什么呢?我不知道

现在有效的最终代码如下所示:

$(document).ready(function()
{
    $('#content').on('submit', 'form', function() { // catch the form's submit event
        alert('begin');
        $.ajax({ // create an AJAX call...
            data: $(this).serialize(), // get the form data
            type: $(this).attr('method'), // GET or POST
            url: $(this).attr('action'), // the file to call
            success: function(response) { // on success..
                $('#content').html(response); // update the DIV
            }
        });
        return false; // cancel original event to prevent form submitting
    }); 

});

谢谢你们的尝试。

你们尝试过:$(#content')。关于('submit','form',function(){@jbl否,谢谢。Iwill@jbl不幸的是没有运气。无论如何谢谢你
:)
请发布加载()产生的标记的相关部分调用。没有什么特别的。事实上,它是一个
,每次单击新菜单项时都会更改(因为在我编写的第一个代码中解释了
load
)“但是为什么?我不知道。”我想这是因为该脚本位于div内容的html标记之前。这是.ready()的要点。代码似乎有两个问题(如果没有on(…'form'…)@jbl是的,你是对的。如果不将
'form'
作为第二个参数传递,代码就无法工作。同时感谢你关于
$(文档)的演讲。ready()