這是一個動態(tài)增加\刪除物件如(Text,Table)的例子, 它的特點是可以不提交到后臺, 直接在前臺物件中保存數(shù)據(jù).需要時,一起提交. 在ASP中這樣可以省去很多沒有必要的送到后臺處理. 很有用.我想了一天才出來. 這里用到了一個鏈表的概念,就是TableA+DivA DivA--->存放TableB+DivB DivB--->存放TableC+DivC .......
源碼如下:
<html> <head> <meta http-equiv="content-Type" content="text/html"> <title>Dhtml test</title>
<style type="text/css"> A { COLOR: royalblue; FONT-SIZE:9PT; TEXT-DECORATION: none } A:hover { COLOR:indigo; FONT-SIZE:9PT; TEXT-DECORATION: none } TD { COLOR: black; FONT-FAMILY: 穝燦砰; FONT-SIZE: 9pt; FONT-WEIGHT: 400 } </style> </head>
<BODY >
<center><b>動態(tài)增加\刪除物件</b></center>
<DIV id="mybag0" ALIGN="CENTER"> <!--在這里是開始加入第一個--> </DIV>
<DIV ALIGN="CENTER">
<TABLE WIDTH="100%" BORDER="1" CELLSPACING="1" CELLPADDING="1" BORDERCOLOR="tomato">
<tr> <td colspan="16" align="center"> <input type="button" name="cmdAddItm" value="add" onclick="AddItm();"> <input type="button" name="cmdDelItm" value="Del" onclick="DelItm();"> </td> </tr> </TABLE> </DIV>
</BODY>
<script language="JavaScript" src="function/function.js"> </script> <script language= "javascript">
//'********************************************************* // ' Purpose: Table TblItm1,TblItm2,TblItm3....... // ' Inputs: //' Returns: True,False //'*********************************************************
var StraddItem=""; var ItemNo=1; //,1,2,3,4......
function AddItm() {
var mybag="Mybag"+(ItemNo-1); //look for last Bag //StraddItem=Table+define new Bag StraddItem="<table id=TblItm"+ItemNo+" WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=1 BORDERCOLOR=red><TR><TD COLSPAN=6 > </TD></TR><tr colspan=6 height=1align=center> <td align=center colspan=13 width=100% bgcolor=mistyrose> <INPUT TYPE=CHECKBOX name=chkAppIt"+ ItemNo +" value=Y>"+ ItemNo +".Table <input type=text name=txtAppit"+ ItemNo + " size=35> </td> </tr> <TR><TD COLSPAN=6 > </TD></TR><div id=mybag"+ItemNo+" > </div>"; //將(Table+define new Bag)放入上一個袋囊,形成鏈表 document.all(mybag).innerHTML=StraddItem; ItemNo++; } //************************* ***********************************
//'********************************************************* // ' Purpose: Del()Table TblItm1,TblItm2,TblItm3....... // ' Inputs: //' Returns: True,False //'********************************************************* function DelItm() { var i; var bSel; var strURL;
for(i=1;i<ItemNo;i++) //chkAppitx, forbidden Show TblItmx { chkAppItx="chkAppIt"+i; TblItmx="TblItm"+i; if (document.all(chkAppItx).checked==true) {document.all(TblItmx).style.display="none" bSel=true; } }
if (bSel != true) {alert("must choose Del items") ; return false; } else return true; }
//'*********************************************************
</script> </html>
|