Cra*_*lus 7 javascript css html-table
我有一个页面,我在表格中显示数据.
在每个表中,我有一个列,checkbox其中if是checked用户可以通过Javascript修改特定行.
这是完成的,因为它td封装了一个input或一个select和我使这些可编辑为用户.
用户修改行并按下保存并保存更改.到目前为止还好.
我的问题是如何实现cancel?
用户可以选择多行,即复选框并修改它们,但用户也可以按取消.取消时,应显示原始值(并且行再次变为不可编辑).
但是如何在Javascript中实现取消操作?我们是否将数据存储在某些全球数据结构中?在Javascript中会出现这种情况?
好的,添加您提供的信息后,我建议您设置以下机制:
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)
我自己做了很多次来刷新页面中的一些数据。这基本上就是您正在做的事情,只不过您没有向数据库请求任何内容,而只是重新填充字段。