js删除表格一行

yiqierufeng 2010-07-18 06:43:29

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页面中。

急用,请帮忙!!!
...全文
1181 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
TT_rain 2010-12-23
  • 打赏
  • 举报
回复
特意来看结果的
yiqierufeng 2010-08-04
  • 打赏
  • 举报
回复
yyi
yiqierufeng 2010-07-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 licip 的回复:]
obj.parentNode.parentNode.removeChild()
()中传个参数吧。要不然,是删除第一个吧。
[/Quote]
我也试过该方法,有参数的,这个参数同样是由obj.parentNode.parentNode.rowIndex;获取呀,这样,他同样弹出对话框,报告出错,错误同上。
myhope88 2010-07-20
  • 打赏
  • 举报
回复
路过,帮顶下
yiqierufeng 2010-07-20
  • 打赏
  • 举报
回复

// 删除行
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>

licip 2010-07-20
  • 打赏
  • 举报
回复
obj.parentNode.parentNode.removeChild()
()中传个参数吧。要不然,是删除第一个吧。
happy664618843 2010-07-20
  • 打赏
  • 举报
回复
obj.parentNode.parentNode.removeChild()
hoojo 2010-07-19
  • 打赏
  • 举报
回复
obj.parentNode.rowIndex看看,你这个删除成功了还要obj.parentNode.rowIndex干啥
zjx198934 2010-07-19
  • 打赏
  • 举报
回复
var i = obj.parentNode.parentNode.rowIndex 这个似乎没用吧!
yiqierufeng 2010-07-19
  • 打赏
  • 举报
回复
是执行obj.parentNode.parentNode.rowIndex;之后才成功的,并且错误是在删除一行之后,才弹出的对话框,总是出现

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧