<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-179  評論-666  文章-29  trackbacks-0

    點“添加參與人”按鈕可以添加一行,每行后面都有一個刪除按鈕,可以刪除所在行,“清空”則刪除所有的行。 這種效果在需要批量添加數據的時候非常有用,可以在客戶端添加完一批數據,然后通過AJAX一次提交給服務器處理,下面是完整代碼:

    Body部份:
       
    <div>
      
    <table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
                  
    <tr id="trHeader">
                    
    <td width="27" bgcolor="#96E0E2">序號</td>
                    
    <td width="64" bgcolor="#96E0E2">用戶姓名</td>
                    
    <td width="98" bgcolor="#96E0E2">電子郵箱</td>
                    
    <td width="92" bgcolor="#96E0E2">固定電話</td>
                    
    <td width="86" bgcolor="#96E0E2">移動手機</td>
                    
    <td width="153" bgcolor="#96E0E2">公司名稱</td>
                    
    <td width="57" align="center" bgcolor="#96E0E2">&nbsp;</td>
                  
    </tr>
            
    </table>
       
    </div>
       
    <div>
            
    <input type="button" name="Submit" value="添加參與人" onclick="AddSignRow()" /> 
         
    <input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
         
    <input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
       
    </div>


    JS代碼部份<script language="javascript">// Example: obj = findObj("image1");
    function findObj(theObj, theDoc){  
    var p, i, foundObj;
        
    if(!theDoc) theDoc = document;  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)  {    theDoc = parent.frames[theObj.substring(p+1)].document;    theObj = theObj.substring(0,p);  }  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];  for (i=0!foundObj && i < theDoc.forms.length; i++)     foundObj = theDoc.forms[i][theObj];  for(i=0!foundObj && theDoc.layers && i < theDoc.layers.length; i++)     foundObj = findObj(theObj,theDoc.layers[i].document);  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);    return foundObj;}

    //添加一個參與人填寫行
    function AddSignRow()//讀取最后一行的行號,存放在txtTRLastIndex文本框中 
     var txtTRLastIndex = findObj("txtTRLastIndex",document);
     
    var rowID = parseInt(txtTRLastIndex.value);
     
     
    var signFrame = findObj("SignFrame",document);
     
    //添加行
     var newTR = signFrame.insertRow(signFrame.rows.length);
     newTR.id 
    = "SignItem" + rowID;
     
     
    //添加列:序號
     var newNameTD=newTR.insertCell(0);
     
    //添加列內容
     newNameTD.innerHTML = newTR.rowIndex.toString();
     
     
    //添加列:姓名
     var newNameTD=newTR.insertCell(1);
     
    //添加列內容
     newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' size='12' />";
     
     
    //添加列:電子郵箱
     var newEmailTD=newTR.insertCell(2);
     
    //添加列內容
     newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' size='20' />";
     
     
    //添加列:電話
     var newTelTD=newTR.insertCell(3);
     
    //添加列內容
     newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' size='10' />";
     
     
    //添加列:手機
     var newMobileTD=newTR.insertCell(4);
     
    //添加列內容
     newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' size='12' />";
     
     
    //添加列:公司名
     var newCompanyTD=newTR.insertCell(5);
     
    //添加列內容
     newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' size='20' />";
     
     
     
    //添加列:刪除按鈕
     var newDeleteTD=newTR.insertCell(6);
     
    //添加列內容
     newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">刪除</a></div>";
     
     
    //將行號推進下一行
     txtTRLastIndex.value = (rowID + 1).toString() ;
    }

    //刪除指定行
    function DeleteSignRow(rowid){
     
    var signFrame = findObj("SignFrame",document);
     
    var signItem = findObj(rowid,document);
     
     
    //獲取將要刪除的行的Index
     var rowIndex = signItem.rowIndex;
     
     
    //刪除指定Index的行
     signFrame.deleteRow(rowIndex);
     
     
    //重新排列序號,如果沒有序號,這一步省略
     for(i=rowIndex;i<signFrame.rows.length;i++){
      signFrame.rows[i].cells[
    0].innerHTML = i.toString();
     }

    }
    //清空列表
    function ClearAllSign(){
     
    if(confirm('確定要清空所有參與人嗎?')){
      
    var signFrame = findObj("SignFrame",document);
      
    var rowscount = signFrame.rows.length;
      
      
    //循環刪除行,從最后一行往前刪除
      for(i=rowscount - 1;i > 0; i--){
       signFrame.deleteRow(i);
      }

      
      
    //重置最后行號為1
      var txtTRLastIndex = findObj("txtTRLastIndex",document);
      txtTRLastIndex.value 
    = "1";
      
      
    //預添加一行
      AddSignRow();
     }

    }

    </script>
    posted on 2009-06-03 14:59 Alpha 閱讀(6490) 評論(2)  編輯  收藏 所屬分類: jQuery JavaScript Flex

    評論:
    # re: JavaScript動態添加刪除表格行(支持FireFox)[未登錄] 2015-01-21 17:39 | freebird
    如果要使得某一個td使用select,應該怎么弄呢?  回復  更多評論
      
    # aa[未登錄] 2016-04-21 22:37 | aa
    啊啊啊啊  回復  更多評論
      
    主站蜘蛛池模板: 日本免费一区二区在线观看| 99麻豆久久久国产精品免费| 国拍在线精品视频免费观看| 亚洲手机中文字幕| 国产成人免费网站| 亚洲色偷偷综合亚洲AV伊人蜜桃| 男女啪啪永久免费观看网站| 成人亚洲国产精品久久| 亚洲人成网站18禁止一区 | 亚洲av综合av一区二区三区| 国产精品无码一区二区三区免费 | 一级大黄美女免费播放| 国产亚洲精品不卡在线| 国产成人AV免费观看| 久久精品国产亚洲AV麻豆网站| 亚洲w码欧洲s码免费| 亚洲精品无码av中文字幕| 亚洲国产精品成人一区| 免费无码H肉动漫在线观看麻豆| 亚洲视频在线播放| 成人免费男女视频网站慢动作| 国产亚洲高清在线精品不卡| 亚洲精品美女久久久久99| 久久免费看黄a级毛片| 亚洲国产精品嫩草影院| 中文字幕中韩乱码亚洲大片| 69免费视频大片| 国产成人 亚洲欧洲| 国产亚洲精品a在线观看app| 亚洲中文无韩国r级电影| 久久久久国产精品免费看| 亚洲欧洲中文日产| 亚洲Aⅴ无码一区二区二三区软件| 两个人看www免费视频| 亚洲人成网站色在线观看| 亚洲中文无韩国r级电影| 四虎在线免费视频| h视频在线观看免费| 亚洲人成在线免费观看| 一本色道久久综合亚洲精品高清| 国产91色综合久久免费|