function addDetailProcess(afterRowIndex) //增加明细 { var alltbDetailUsed= document.all("tbDetailUsed").rows; var theFirstSelectedDetail; if (afterRowIndex==null) { for(var i=0;i<alltbDetailUsed.length-1;i++) { if (alltbDetailUsed[i].all("record_select").checked==true) {theFirstSelectedDetail=i;break;} } if (theFirstSelectedDetail==null) {theFirstSelectedDetail=alltbDetailUsed.length-2;} } else theFirstSelectedDetail=afterRowIndex; var newRow = document.all("tbDetailPrepare").rows[0].cloneNode(true); var desRow = alltbDetailUsed[theFirstSelectedDetail+1]; desRow.parentElement.insertBefore(newRow,desRow ); }
function delDetailProcess() //删除明细 { var alltbDetailUsed= document.all("tbDetailUsed").rows; if (confirm("确定选择正确并且要将这些明细删除")==false) return false; for(var i=0;i<alltbDetailUsed.length-1;i++) { if (alltbDetailUsed[i].all("record_select").checked==true) { document.all("tbDetailUsed").deleteRow(i); i=i-1; } } } function submitProcess() { document.frm.submit(); }</SCRIPT> </BODY></HTML> 原来高手写的,能保存历史记录的
文本框隐藏==>用层,层里面有一个属性可以控制visibal
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE>
TD,INPUT{ font-size:12; }
</STYLE><META content="MSHTML 6.00.2800.1491" name=GENERATOR></HEAD>
<BODY bgColor=#eeeeee>
<FORM name=frm action=about:结果页面 method=post>
<H4 align=center>JK的动态明细示例</H4>
<TABLE borderColor=#cccccc width="100%" align=center border=1>
<TBODY>
<TR>
<TD width=500></TD>
<TD align=right><INPUT class=bottom onclick=addDetailProcess(); type=button value=增加> <INPUT class=bottom onclick=delDetailProcess(); type=button value=删除> <INPUT class=bottom onclick=submitProcess(); type=button value=完成> </TD></TR></TBODY></TABLE>
<DIV id=thedetailtableDIV width="100%">
<TABLE borderColor=#cccccc width="100%" align=center border=1>
<TBODY id=tbDetailPrepare style="DISPLAY: none">
<TR>
<TD><INPUT type=checkbox name=record_select></TD>
<TD><INPUT name=detail_id></TD>
<TD><INPUT name=detail_name></TD></TR></TBODY>
<TBODY>
<TR id=trDetailTitles bgColor=#eeeeee>
<TD><INPUT onclick=selectallcheckbox(this) type=checkbox></TD>
<TD>明细ID*</TD>
<TD>明细NAME</TD></TR>
<TBODY id=tbDetailUsed>
<TR>
<TD><INPUT type=checkbox name=record_select></TD>
<TD><INPUT name=detail_id></TD>
<TD><INPUT name=detail_name></TD></TR>
<TR height=0>
<TD colSpan=100 height=0>合计</TD></TR></TBODY></TABLE></DIV></FORM><INPUT type=hidden name=theHistoryRecord>
<SCRIPT language=javascript>
window.onload = historyOncemore;
window.onbeforeunload = fixHistory;
function fixHistory() //记住历史
{
document.all("theHistoryRecord").value=document.all("thedetailtableDIV").innerHTML.replace(/\n/g,"");
}
function historyOncemore() //恢复历史
{
if (document.all("theHistoryRecord").value!="")
{document.all("thedetailtableDIV").innerHTML=document.all("theHistoryRecord").value;
}
}
function selectallcheckbox(obj) //全选或全不选
{
var tureorfalse=obj.checked;
var theDetail=tbDetailUsed.rows;
for(var i=0;i<theDetail.length-1;i++)
{
theDetail[i].all("record_select").checked=tureorfalse;
}
}
function addDetailProcess(afterRowIndex) //增加明细
{
var alltbDetailUsed= document.all("tbDetailUsed").rows;
var theFirstSelectedDetail;
if (afterRowIndex==null)
{
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked==true) {theFirstSelectedDetail=i;break;}
}
if (theFirstSelectedDetail==null) {theFirstSelectedDetail=alltbDetailUsed.length-2;}
}
else theFirstSelectedDetail=afterRowIndex;
var newRow = document.all("tbDetailPrepare").rows[0].cloneNode(true);
var desRow = alltbDetailUsed[theFirstSelectedDetail+1];
desRow.parentElement.insertBefore(newRow,desRow );
}
function delDetailProcess() //删除明细
{
var alltbDetailUsed= document.all("tbDetailUsed").rows;
if (confirm("确定选择正确并且要将这些明细删除")==false) return false;
for(var i=0;i<alltbDetailUsed.length-1;i++)
{
if (alltbDetailUsed[i].all("record_select").checked==true)
{
document.all("tbDetailUsed").deleteRow(i);
i=i-1;
}
}
}
function submitProcess()
{
document.frm.submit();
}</SCRIPT>
</BODY></HTML>
原来高手写的,能保存历史记录的