nubuilder 更新数据时,仅保存已编辑的字段(避免更新保存整个表降低效率)

作者: 站长 上传时间: 浏览: N/A 下载: N/A 格式: N/A 评分: N/A

第一次添加数据时,将保存(整个)表单以在表中创建数据。
后续修改、更新表的数据时,通过执行autosaveForm过程仅保存已编辑的字段。 这比保存整个表要快。

 

新建一个js短代码,在保存前执行

代码如下(注意对应字段)

 

function nuAfterSave() {

if (typeof window.autosaveForm_id !== 'undefined') {

$('#'+ window.autosaveForm_id).focus();

}

}

function getValueWithoutFormatting(field) {

var o = $('#' + field);
var f = o.attr('data-nu-format');
var v= o.val();

return nuFORM.removeFormatting(v, f);

}

if (nuFormType() == 'edit') {

$('input, select, textarea').blur(function() {

if ($(this).hasClass('nuEdited')) {

var recordID = nuCurrentProperties().record_id;
var id = $(this).attr('id');

if (recordID == '-1') {

if(event.relatedTarget) {
window.autosaveForm_id = event.relatedTarget.id;
}

nuSaveAction();
return;
}

var value = getValueWithoutFormatting(id);
var table = nuSERVERRESPONSE.table;

nuSetProperty('autosaveForm_id', id);
nuSetProperty('autosaveForm_value', value);
nuSetProperty('autosaveForm_record_id', recordID);

nuRunPHPHidden('autosaveForm', 0);
}

});

}

标签:

Leave a Comment