B/S系統操作日志設計思路


 

  最近做的系統需要實現操作日志的功能,主要記錄用戶的 增,刪,改的操作。自己想的方法笨點兒但能滿足需求,待日后有更好的解決方法了再來優化了,不多說先上效果圖。

一,效果圖

1, 日志列表

   

2, 日志詳細

  

二,設計思路

1, 頁面加載完成后,利用JS 記錄需要記錄的值到 對應的隱藏域中。

2, 頁面提交時利用JS    對表單內容進行比較,記錄改動過的項目,並保存到隱藏域中,供后台調用。

3, 用存儲過程對隱藏域中的值進行解析並保存到數據庫中

三,實現步驟

1,   頁面的上 控件的命名要有規則這樣 做是為了方便JS遍歷頁面上的控件

   

2,JS代碼

記錄和比較表單的JS
///頁面加載完后,遍歷頁面上需要記錄的項目,賦值給相應的隱藏域
$(document).ready(function () {
    //找到頁面中的文本框 並把文本框中的值 賦值給 相應的 隱藏域
    var inpus = $("input[type='text']");
    for (var i = 0; i < inpus.length; i++) {
        if ($("#HF" + inpus[i].id).length > 0) {
            $("#HF" + inpus[i].id).val(inpus[i].value);
        }
    }
});

//表單提交時 比較表單提交前后 值的變化,並記錄下有改動的項目 存入 隱藏域中供后台調用
//隱藏域中保存的信息格式 為: 被改字段含義,原值,新值 每條記錄以 $分隔
function MyFormSubmit(btnID) {
    //比較文本框
    var changeInputs = "";
    var newInputs = $("input[type='text']");
    for (var i = 0; i < newInputs.length; i++) {
        if ($("#HF" + newInputs[i].id).length > 0) { 
            if ($.trim(newInputs[i].value) != $.trim($("#HF" + newInputs[i].id).val())) {
                changeInputs += $("#lb" + newInputs[i].id).text() + "," + $("#HF" + newInputs[i].id).val() + "," + $.trim(newInputs[i].value) + "$";
            }
        }
    }
//將改動過的表單內容記錄到隱藏域中
$("#HFChangeContents").val(changeInputs);

    //檢測表單內容是否改動過 
    if ($("#HFChangeContents").val() == "") {
        alert('無改動!');
    }
    else { 
      //提交表單
        document.getElementById(btnID).click();
    }
});

到這里已經得到了需要記錄的表單改動項目,剩下數據處理就簡單了。
本文只提供個人的拙見,如有更好的實現方式,請不吝賜教。如需源碼請 戳 http://download.csdn.net/detail/sidabbs/4347781


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM