0

我在一个页面上有一系列表格。我正在尝试获取正在提交的特定表单的 id,并使用该确切值作为 div 的名称来插入一些 html。div 已经以该名称存在。

这是代码:

$(function () {
    $('.allforms').submit(function (ev) {
        Var myID = $(obj).attr("id");
        esv.preventDefault();
        $.ajax({
            url: "/update",
            data: $(this).serialize(),
            dataType: "html",
            success: function (data) {
                $(myID).html(data);
            }
        });
    });
});

当我给 div 赋予相同的名称时,数据会正确返回,但只显示在第一个 div 中,所以我知道服务器端正在工作。我刚刚开始使用 Jquery。

4

3 回答 3

0

改变这些:

Var myID = $(obj).attr("id"); // 'var' keyword should be lowercase
esv.preventDefault(); // you are passing event object as `ev` not `esv`

至:

var myID = $(this).attr("id"); // 'this' refers to the current form
ev.preventDefault();
于 2012-07-04T11:29:25.647 回答
0
var myID = $(this).attr("id");

这将返回表单的 ID

于 2012-07-04T11:34:32.347 回答
0

利用

$(function () {
    $('.allforms').submit(function (ev) {
        Var myID = this.id; // this refers to the form, and id is a droperty of the element so you can access it directly..
        ev.preventDefault(); // esv -> ev as that is the name you use as the parameter
        $.ajax({
            url: "/update",
            data: $(this).serialize(),
            dataType: "html",
            success: function (data) {
                $('#' + myID).html(data);
            }
        });
    });
});
于 2012-07-04T11:37:18.670 回答