比如在IE中顯示的頁面,有一個數(shù)據(jù)表,需要增加很多行,每填一行就需要add一次,馬上顯示在下面。如果提交到SERVER上再生成整個頁面就會很慢,所以如果能只做局部的更新就有更好的性能和可用性。
哪位高手請賜教。
謝謝
---------------------------------------------------------------
可作一個servlet讓它在后臺運行,負責(zé)從數(shù)據(jù)庫取數(shù),
前臺你用(javascript)增加表格的時候內(nèi)加空行,然后運行servlet取到數(shù)
在填到表格中即可.
---------------------------------------------------------------
如果你每次ADD一下的數(shù)據(jù)是從數(shù)據(jù)庫里取的話,
不刷新整個頁面來更新部分表格是不行的
反正要刷新一個頁面。可以在IFRAME 里刷新隱藏頁面,然后用innerHtlm寫入到外面那個頁面中,只能這樣做到看不出刷新。
---------------------------------------------------------------
下面可能是你想要的,可以參考一下
<html>
<head>
<script language="javascript">
function addNew(rowsCount,cellsCount,postRowsCount)
{
with(window.event)
{
var e=srcElement //e=input
var r=e.parentElement.parentElement //r=tr
var t=r.parentElement.parentElement //t=table
//alert(r.parentElement.tagName)
if(keyCode==68 && ctrlKey && t.rows.length>rowsCount)
{
t.deleteRow(r.rowIndex)
r.cells
return false;
}
if(keyCode!=13||e.parentElement.cellIndex!=cellsCount-1)
return true;//e.parentElement=td
//if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow(t.rows.length-postRowsCount);
for(i=0;i<r.cells.length;i++)
{
var c=n.insertCell();
c.innerHTML=r.cells(i).innerHTML;
c.children[0].value="";
}
}
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" onkeydown="if(event.keyCode==13 && event.srcElement.tagName!=‘TEXTAREA‘) {event.keyCode=9;}">
<table >
<tr>
<td width="49%">
<input type="text" name="other_project_name" size="5" onKeyDown="addNew(1,2,0)">
</td>
<td width="51%">
<input type="text" name="other_task" size="5" onKeyDown="addNew(1,2,0)">
</td>
</tr>
</table>
</body>