我有一个带有20个字段的表单来更新记录。当用户提交表格时,我想记录我的update_log
表中更新(更改)的字段以及更新后的值,用户名和时间。 (例如:“Andrew在11月22日下午3点将'供应商'更新为'Acme Inc.')检查哪些表单字段在PHP/jQuery中更新
以前,我在单场自动保存的情况下取得了成功,因为只要单现场更新我可以登录,但是对于具有20个字段的表单,这会更困难,因为我一次更新整个表单并且不希望记录没有更改的字段
这里是JavaScript I “M使用到POST
升级到PHP文件,运行使用$_POST
数据的更新查询:
$("body").on('click', "#update-shipment-button", function(e){
e.preventDefault();
var shipment_id= $("#update-shipment-button").attr('data-shipment-id');
var clientName = $("#form-client-name").val();
var poNumber = $("#form-po-number").val();
var shipmentStatus = $("#form-shipment-status").val();
var supplier = $("#form-supplier").val();
var shipper = $("#form-shipper").val();
var departureDate = $("#form-departure-date").val();
var arrivalDate = $("#form-arrival-date").val();
var freightForwarder = $("#form-freight-forwarder").val();
var shippingMethod = $("#form-shipping-method").val();
var originCountry = $("#form-origin-country").val();
var data = {
shipment_id: shipment_id,
clientName: clientName,
poNumber: poNumber,
shipmentStatus: shipmentStatus,
supplier: supplier,
shipper: shipper,
departureDate: departureDate,
arrivalDate: arrivalDate,
freightForwarder: freightForwarder,
shippingMethod: shippingMethod,
originCountry: originCountry,
}
// Deliver the payload!
$.ajax({
type: "POST",
url: "st_update_shipment_query.php",
dataType:"JSON",
data: data,
success:function(response){
console.log("Successfully updated.");
},
error:function (xhr, ajaxOptions, thrownError){
console.log(xhr.status);
console.log(ajaxOptions);
console.log(thrownError);
}
});
});
什么是最好的方式接近这个?任何帮助表示赞赏:)如果需要,我可以澄清问题。
在PHP中:http://php.net/array_diff_assoc –