var num=0;
     var eno;
var trwzb_id;
var ddbh;
var cpxxb_id;
var txm;
var rwsl;
function add()
{
ddbh=document.getElementById("ddbh").value;
trwzb_id=document.getElementById("trwzb_id").value;
cpxxb_id=document.getElementById("cpxxb_id").value;
eno=document.getElementById("eno").value;
txm=document.getElementById("txm");
var gly=document.getElementById("gly").value;
rwsl=document.getElementById("rwsl").value;
var ywb=document.getElementById("ywb").value;
var reg=/^\d{7}$/;
if(!reg.test(txm.value))
{
showInfo.innerText="\u6761\u5f62\u7801\u4e3a7\u4f4d\u6570\u5b57\uff01";
txm.value="";
return false;
}
if(rwsl>num)
{
var tlsb={ddbh:ddbh,trwzb_id:trwzb_id,trw_id:ywb,cpxxb_id:cpxxb_id,eno:eno,txm:txm.value,gly:gly};
scxt.addBtlsb(tlsb,0,addBtlsb);
}else{
alert("已超过任务数量,不可再交工!");
txm.value="";
}
}
     function addBtlsb(data)
     {
if(data>0)
{
    var row2 = new row("dyjg"); 
             row2.insert(txm.value,data); 
    if(num==rwsl)
   {
showInfo.innerText="已满足任务数,点击【确认交工】即可交工!!";
var wcjg=document.getElementById("wcjg");
wcjg.style.display="none";
txm.value="";
   }else{
txm.value="";
txm.focus();
   }
         }else{
   showInfo.innerText="交工失败!";
}
    }
    function $(obj){ 
return document.getElementById(obj); 
    }
    function row(id){      //构造函数 
 this.id = $(id); 
    }
    row.prototype = {       //插入行 
insert:function(sctm,tid){ 
    num = num + 1; 
    var newTr = this.id.insertRow(0); 
    var td_1 = newTr.insertCell(0); 
    var td_2 = newTr.insertCell(1); 
    var td_3 = newTr.insertCell(2); 
    td_1.innerHTML = num; 
    td_2.innerHTML = sctm; 
    td_3.innerHTML = "<a href='javascript:deleteCurrentRow(this,"+tid+");' onclick='deleteCurrentRow(this,"+tid+");'>取消</a>"; 
          }, 
// 删除行 
del:function(obj){ 
alert(obj.parentNode.parentNode.rowIndex);
var i = obj.parentNode.parentNode.rowIndex;
this.id.deleteRow(); 
num=num-1;

   }dwr实现对象添加入数据库,并且动态显示在前台页面,利用tbody动态添加和删除行,添加成功,但是删除时,也能删除成功,但是总弹出一个错误对话框,内容是:错误:’parentNode.parentNode‘为空或不是对象。
    测试时,在html页面实现时,无异常,但不能放在jsp页面中。急用,请帮忙!!! 

解决方案 »

  1.   

    obj.parentNode.rowIndex看看,你这个删除成功了还要obj.parentNode.rowIndex干啥
      

  2.   

    是执行obj.parentNode.parentNode.rowIndex;之后才成功的,并且错误是在删除一行之后,才弹出的对话框,总是出现
      

  3.   

    var i = obj.parentNode.parentNode.rowIndex 这个似乎没用吧!
      

  4.   

    obj.parentNode.parentNode.removeChild()
      

  5.   

    obj.parentNode.parentNode.removeChild()
    ()中传个参数吧。要不然,是删除第一个吧。
      

  6.   


     // 删除行 
        del:function(obj){ 
            alert(obj.parentNode.parentNode.rowIndex);
            var i = obj.parentNode.parentNode.rowIndex;
            this.id.deleteRow(); 
            num=num-1;
        } 纠错: // 删除行 
        del:function(obj){ 
            alert(obj.parentNode.parentNode.rowIndex);
            var i = obj.parentNode.parentNode.rowIndex;
            this.id.deleteRow(i); 
            num=num-1;
        } 我获取的是tbody:
    <table class="myTable" id="mytables" width="440">
    <tbody id="dyjg"></tbody>
    </table>
      

  7.   

    我也试过该方法,有参数的,这个参数同样是由obj.parentNode.parentNode.rowIndex;获取呀,这样,他同样弹出对话框,报告出错,错误同上。