0

1 つのページに一連のフォームがあります。送信される特定のフォームの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

使用する

$(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 に答える
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 に答える