我们如何在普通Javascript中实现取消?

Cra*_*lus 7 javascript css html-table

我有一个页面,我在表格中显示数据.
在每个表中,我有一个列,checkbox其中if是checked用户可以通过Javascript修改特定行.
这是完成的,因为它td封装了一个input或一个select和我使这些可编辑为用户.
用户修改行并按下保存并保存更改.到目前为止还好.
我的问题是如何实现cancel
用户可以选择多行,即复选框并修改它们,但用户也可以按取消.取消时,应显示原始值(并且行再次变为不可编辑).
但是如何在Javascript中实现取消操作?我们是否将数据存储在某些全球数据结构中?在Javascript中会出现这种情况?

Seb*_*bas 1

好的,添加您提供的信息后,我建议您设置以下机制:

function getDatas() {
var oXhr;

    //get datas from database:
    oXhr = new XMLHttpRequest();    
    oXhr.onreadystatechange = function() {
    if (oXhr.readyState == 4 && (oXhr.status == 200)) {
        g_oData = (new DOMParser()).parseFromString(oXhr.responseText, "text/xml");
        }
    }

    oXhr.open("POST", "yourphpscriptthatreturnsthexmldatas.php", true);
    oXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    oXhr.send();
}

function populateGrid() {
    //use g_oData to populate your grid, but at first totally clean the body
    var mygrid = document.getElementById("mygridid");
    //mygrid.innerHtml = "<table><tr><td>...</td></tr></table>";

    //use the xml library to parse g_oData and fill up the table:
    var xmlRows = g_oData.getElementsByTagName("TAG");
    var xmlRow;
    iLen = xmlRows.length;
    for (var i=0;i<iLen;i++) {
    xmlRow = xmlRows[i];
    //use xmlRow->textContent to build each cell of your table
    }
}

function revertChange() {
    //on cancel, revert the changes by populating the grid. 
    //it will use the global xml/json object loaded directly from database, to refill everything.
    populateGrid();
}
Run Code Online (Sandbox Code Playgroud)

我自己做了很多次来刷新页面中的一些数据。这基本上就是您正在做的事情,只不过您没有向数据库请求任何内容,而只是重新填充字段。