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

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

 

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

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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);
       }

    });

}
原文链接:https://xiaohost.com/3599.html,转载请注明出处。
0

评论0

请先