0

私は長い間jQueryを使用していませんが、問題なくMVCコントローラーにデータを送信し、データが保存され、成功関数がヒットしているこのフォームがあります。 )そこで、それは解雇されます。また、私の ClearFields() 関数が起動しています。ただし、ajax を使用して projectId のサンプルのリストを取得する GetSamples(projId) 関数は、起動していませんが、ページロード時に起動します。

以下は私のコードです...誰かが私を正しい方向に向けることができれば、それがうまくいかない理由がわかりません

 $(function () {

    var projectId = "@Model.Project.Id";

    GetSamples(projectId);

    $("#refreshButton").button().click(function () {
        GetSamples(projectId);
    });

    $("#saveSampleButton").button().click(function () {
        $.ajax({
            url: "/PreRegistration/AddSample",
            type: "POST",
            data: { projectId: projectId,
                customerSampleId: $("#CustomerSampleId").val(),
                customerSampleId2: $("#CustomerSampleId2").val(),
                customerSampleId3: $("#CustomerSampleId3").val(),
                customerSampleId4: $("#CustomerSampleId4").val(),
                matrix: $("#Matrix").val(),
                product: $("#Product").val(),
                productGrade: $("#ProductGrade").val(),
                dueDate: $("#DueDate").val()
            },
            success: function (response, projectId, jqXHR) {
                alert("done");
                ClearFields();
                GetSamples(projectId);
            },
            error: function (xyz) {
                alert("Something went wrong : " + xyz.val());
            }               
        });

        return false;
    });



    $("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });

    function ClearFields() {
        $("#CustomerSampleId").val("");
        $("#CustomerSampleId2").val("");
        $("#CustomerSampleId3").val("");
        $("#CustomerSampleId4").val("");
        $("#Matrix").val("");
        $("#Product").val("");
        $("#ProductGrade").val("");
        $("#DueDate").val("");
    }

    function GetSamples(pId) {
        $.ajax({
            url: "/PreRegistration/GetSamples",
            type: "POST",
            data: { Id: pId },
            success: function (response) {
                $("#ProjectSamples tbody").replaceWith(response)
            }
        });
    }

});

GetSamples() 関数が起動しているように見えますが、テーブルを更新していません...

$(function () {

    var projectId = "@Model.Project.Id";

    GetSamples(projectId);

    $("#saveSampleButton").button().click(function () {
        $.ajax({
            url: "/PreRegistration/AddSample",
            type: "POST",
            data: { projectId: projectId,
                customerSampleId: $("#CustomerSampleId").val(),
                customerSampleId2: $("#CustomerSampleId2").val(),
                customerSampleId3: $("#CustomerSampleId3").val(),
                customerSampleId4: $("#CustomerSampleId4").val(),
                matrix: $("#Matrix").val(),
                product: $("#Product").val(),
                productGrade: $("#ProductGrade").val(),
                dueDate: $("#DueDate").val()
            },
            success: function (projectId) {
                ClearFields();
                GetSamples(projectId);
            },
            error: function (xyz) {
                alert("Something went wrong : " + xyz.val());
            }
        });

        return false;
    });



    $("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });

    function ClearFields() {
        $("#CustomerSampleId").val("");
        $("#CustomerSampleId2").val("");
        $("#CustomerSampleId3").val("");
        $("#CustomerSampleId4").val("");
        $("#Matrix").val("");
        $("#Product").val("");
        $("#ProductGrade").val("");
        $("#DueDate").val("");
    }

    function GetSamples(projectId) {
        $.ajax({
            url: "/PreRegistration/GetSamples",
            type: "POST",
            data: { Id: projectId },
            success: function (response) {
                $("#ProjectSamples tbody").replaceWith(response)
            }
        });
    }

});

デバッグが完了し、projectId (1) が関数に正しく渡されています。VSでは、コントローラのアクションで、データがフェッチされてビューに返されます...しかし、テーブルは再入力されていません

4

0 に答える 0