新增数据保存和修改数据保存很相似,一般来说修改数据和新增数据在传递参数的时候唯一不同的就是修改数据需要传递主键ID而新增数据不需要,那么如果觉得既要写新增保存数据的方法又另外写修改保存数据的方法,那么无疑代码量多了点。那么既然新增保存数据方法和修改数据保存方法拥有那么多相同之处那么我们是否可以通过它们的不同点去弄一个既适合新增数据保存又适合修改数据保存的方法呢?我们该如何从创建这个方法,首先我们看下面的两个方法,通过对比发现除了它们除了URL不一样之外就是参数是否有主键ID这两个差异了,对应参数的问题通过serializeArray()序列化表单:(这里我们没办法决定参数的个数,新增:名称,修改:ID,名称,序列化表单之后完成可以解决这个问题,这种方法也减少了一个个获取参数值的操作,十分简便。
新增数据保存方法
function savaInsert1() {
//获取input输入数据
var employeeNum = $("#employeeNum").val();
var employeeName = $("#employeeName").val();
$.post("InsertNoticeType
", {
employeeNum: employeeNum, employeeName: employeeName, }, function (returnJson) {
if (returnJson.State
== true) {
//关闭模态框
$("#modalEmployee").modal('hide');
//刷新table
tabAcademe.reload();
}
layer.alert(returnJson.Text);
}, "json")
}
3. 修改数据保存方法
function savaInsert2() {
//获取页面数据
var employeeID = $("#employeeID").val();
var employeeNum = $("#employeeNum").val();
var employeeName = $("#employeeName").val();
$.post("UpdateNoticeType
", {
employeeNum: employeeNum, employeeName: employeeName },
function (returnJson) {
if (returnJson.State
== true) {
//关闭模态框
$("#modalEmployee").modal('hide');
tabAcademe.reload();
//清空主键ID
$("#employeeID").val("");
}
layer.alert(returnJson.Text);
}, "json");
}
else {
//提示
layer.alert('请填写完整', {
title: '提示', icon: 0 });
}
}
3//新增和修改共用方法
function savaInsert() {
//获取隐藏域:有值就修改,没有值就新增
var ID = employeeID =
$("#employeeID").val();
var url = "";
if (ID == "") {
//无公告类型id,表单为新增
url = "InsertNoticeType";
} else {
//修改公告类型,有公告类型id,表单为修改
url = "UpdateNoticeType";
}
//serializeArray()序列化表单:(这里我们没办法决定参数的个数,新增:名称,修改:ID,名称,序列化表单之后完成可以解决这个问题,)
var formData = $("#formNoticeType").serializeArray();
//console.log(formData);
$.post(url, formData, function (msg) {
if (msg.State == true) {
//关闭窗体
layerClose();
//刷新table表单
tabNoticeType =
layuiTable.reload('tabNoticeType');
layer.alert(msg.Text);
}
layer.alert(msg.Text);
})
} else {
alyer.alert('请填写完整数据', {
icon: 0 });
}
});