我一直都没有使用jQuery,但我有这个表单,它正在向我的MVC控制器提交数据而没有问题,数据正在保存,我的成功功能正在受到攻击,因为如果我发出警报( “东西”)在那里,它被解雇了。我的ClearFields()函数也被解雇了。但是,我使用ajax的GetSamples(projId)函数,获取了projectId的样本列表,没有触发,但它确实触发了pageload。
下面是我的代码...如果有人能指出我正确的方向,这将是伟大的原因我不明白为什么它不工作
$(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中,在我的控制器操作上,正在获取数据并将其传递回视图...但该表未被重新填充