0

在我的应用程序中,我有一段代码可以“捕捉”锚点上的所有点击,并将其加载到我的页面中:

$("a").live("click", function () {
    var src = $(this).attr("href");
    if ($(this).attr("target") === "_blank")
        return true;
    $("#myPage").load(src + " #myPage");
    return false;
});

现在这适用于所有锚标签。我怎样才能让我的所有 POST 请求(发送表单数据)都像这样?

编辑:正如凯文所说,我尝试使用 .post,但它对我不起作用,我做错了什么?这是代码:

$("form").post("submit", function () {
    var src = $(this).attr("action");
    $("#myPage").load(src + " #myPage");
    return false;
});
4

1 回答 1

1

使用表单提交事件处理表单 POST 情况

$(document).on('submit', 'form', function(){
    var $this = $(this);

    $.ajax({
        url: $this.attr('action'),
        type: 'POST',
        data: $this.serialize()
    }).done(function(responseText){
        $("#myPage").html(responseText)
    });

    return false;
})

由于您使用的是 jquery 1.9,因此您可能必须将a处理程序重写为

$(document).on("click", 'a', function () {
    var src = $(this).attr("href");
    if ($(this).attr("target") === "_blank")
        return true;
    $("#myPage").load(src + " #myPage");
    return false;
});
于 2013-04-01T15:58:09.427 回答