一个删除行的问题,请教各位老大! http://www.csdn.net/Develop/Read_Article.asp?Id=8652 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个很好的例子:<html><body><SCRIPT LANGUAGE="JavaScript"><!--function showinput(){elm = event.srcElement;if (elm.tagName != "TD") return;elm.innerHTML = "<input onblur='hide()' value='"+elm.innerText+"' size=10 id='input1'></input>";input1.focus();input1.select();}function hide(){elm = event.srcElement;elm.parentNode.innerHTML = elm.value}function deleteLine(){for (var i=tbody1.children.length-1; i>=0 ; i-- ) if (tbody1.children[i].firstChild.firstChild.checked) tbody1.deleteRow(i);}function addLine(){elm = thead1.lastChild.cloneNode(true)elm.style.display="";tbody1.insertBefore(elm);}//--></SCRIPT><TABLE border=1 height=100><thead id=thead1><tr><th></th><th width=100></th><th width=100></th><th width=100></th></tr><TR style="display:none"> <td><input type=checkbox id=checkLine></td> <TD>000</TD> <TD>000</TD> <TD>000</TD></TR></thead><tbody onClick="showinput()" id=tbody1><TR> <td><input type=checkbox id=checkLine></td> <TD>aaa</TD> <TD>bbb</TD> <TD>ccc</TD></TR><TR> <td><input type=checkbox id=checkLine></td> <TD>ddd</TD> <TD>eee</TD> <TD>fff</TD></TR><TR> <td><input type=checkbox id=checkLine></td> <TD>ggg</TD> <TD>hhh</TD> <TD>iii</TD></TR></tbody><tfoot><tr><td colspan=4 align=center><button onClick="deleteLine()">del</button><button onClick="addLine()">add</button></td></tr></tfoot></TABLE></body> to net_lover(孟子E章) 仁兄: 我增加一行后,我主要是想在最下面的框架中用一个按钮来删除当前得到焦点的行,不知有办法否? 另:我不是增加表格的一行,而是增加了一个表格 parent.right.document.body.removeChild(tableID) parent.right.document.MyTable.removeNode(true) AA.htm==============<html><body><form name="foual_taxa"><span id="declare"><table border="0" cellpadding="0" cellspacing="0" width="88%" onclick="aa()"> <tr> <td width="14%" align="center">税 类</td> <td width="22%" align="center"></td> <td width="23%" align="center">营业额(计税依据)</td> <td width="41%" align="center"><input name="a" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td> </tr> <tr> <td width="14%" align="center">税 款</td> <td width="22%" align="center"></td> <td width="23%" align="center">课税数量</td> <td width="41%" align="center"><input name="b" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td> </tr> <tr> <td width="14%" align="center">税 项</td> <td width="22%" align="center"></td> <td width="23%" align="center">税 率</td> <td width="41%" align="center"><input name="c" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td> </tr> <tr> <td width="14%" align="center">税 目</td> <td width="22%" align="center"></td> <td width="23%" align="center">已缴(扣除数)</td> <td width="41%" align="center"><input name="d" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td> </tr> <tr> <td width="14%" align="center">预算级次</td> <td width="22%" align="center"></td> <td width="23%" align="center">应退(补)额</td> <td width="41%" align="center"><input name="e" type="text" readonly size="29"></td> </tr> </table><hr></span></form><script><!--foual_taxa.a.focus();function change_value(thisvalue) {//alert(thisvalue); var aa=foual_taxa.a.value; var bb=foual_taxa.b.value; var cc=foual_taxa.c.value; var dd=foual_taxa.d.value;if (dd=="") dd=0.00; if(aa==""||bb==""||cc=="") { foual_taxa.e.value=""; return; } try { foual_taxa.e.value=parseFloat(aa)*parseFloat(bb)*parseFloat(cc) - parseFloat(dd); } catch(e) { foual_taxa.e.value=""; }}function my_keydown(){ if (event.keyCode==13){event.keyCode=9; return true;}//if ((window.event.keyCode<48&&window.event.keyCode!=13) || window.event.keyCode>57)// {window.event.keyCode=0;//return false;}else//{return true;}with(window.event)return ((keyCode<58&&keyCode>47)||keyCode==190 || keyCode==46);}//var tesinner="<input type='text' id='sd'>";var lrow=1; function addrow(){ var lsinner="<table border='0' cellpadding='0' cellspacing='0' width='88%' onclick='aa()'>"; lsinner=lsinner+"<tr>"; lsinner=lsinner+"<td width='14%' align='center'>税 类</td>"; lsinner=lsinner+"<td width='22%' align='center'></td>"; lsinner=lsinner+"<td width='23%' align='center'>营业额(计税依据)</td>"; lsinner=lsinner+"<td width='41%' align='center'><input name='a"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>"; lsinner=lsinner+"</tr>"; lsinner=lsinner+"<tr>"; lsinner=lsinner+ "<td width='14%' align='center'>税 款</td> "; lsinner=lsinner+ "<td width='22%' align='center'></td>"; lsinner=lsinner+ "<td width='23%' align='center'>课税数量</td>"; lsinner=lsinner+ "<td width='41%' align='center'><input name='b"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>"; lsinner=lsinner+"</tr>"; lsinner=lsinner+ "<tr>"; lsinner=lsinner+"<td width='14%' align='center'>税 项</td> "; lsinner=lsinner+ "<td width='22%' align='center'></td>"; lsinner=lsinner+ "<td width='23%' align='center'>税 率</td> "; lsinner=lsinner+ "<td width='41%' align='center'><input name='c"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>"; lsinner=lsinner+"</tr>"; lsinner=lsinner+ "<tr>"; lsinner=lsinner+ "<td width='14%' align='center'>税 目</td> "; lsinner=lsinner+ "<td width='22%' align='center'></td>"; lsinner=lsinner+ "<td width='23%' align='center'>已缴(扣除数)</td>"; lsinner=lsinner+ "<td width='41%' align='center'><input name='d"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>"; lsinner=lsinner+"</tr>"; lsinner=lsinner+"<tr>"; lsinner=lsinner+"<td width='14%' align='center'>预算级次</td>"; lsinner=lsinner+"<td width='22%' align='center'></td>"; lsinner=lsinner+"<td width='23%' align='center'>应退(补)额</td>"; lsinner=lsinner+ "<td width='41%' align='center'><input name='e"+lrow+"' type='text' readonly size='29'></td>"; lsinner=lsinner+"</tr>";lsinner=lsinner+"</table>";lsinner=lsinner+"<hr>"; var myinner="declare.innerHTML=declare.innerHTML+\""+lsinner+"\""; eval(myinner); with(document.body)scrollTop=scrollHeight; lrow++; }function aa() { var e=event.srcElement if(e!=null) { while(e.tagName!="TABLE") e=e.parentElement } var t=document.getElementsByTagName("TABLE") for(i=0;i<t.length;i++){ if(e==t[i]) parent.right1.document.all.tID.value=i } }//--></script> save.htm=================<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="100%" align="right"><input type="button" value="增加(A)" name="add" onclick="parent.right.addrow();"> <input type="button" value="删除(D)" name="delete" onclick="del()"> <input type="button" value="确定(O)" name="ok"> <input type="button" value="取消(C)" name="ok"> <input type="hidden" value="" id="tID"> </td> </tr> </table> </center> </div><script>function del(){var e=parent.right.document.getElementsByTagName("TABLE")[parseInt(document.all.tID.value)]if(e)e.parentNode.removeChild(e)}</script></body> 孟兄: document.all.tID 不是对象或为空?怎么回事? 在<input type="hidden" value="" id="tID">定义的,换个别的什么看看<input type="text" value="" id="tID">我测试没有问题的,思路就是这样,根据情况可适当修改 增加表格,你在页面先定义个<DIV id="main"></div>你的表格都在这个id="mian"中增加时用 document.all.main.insertBefore(newdiv)newdiv是你新增加的每个表格的定义项示例:var newDIV=document.createElement("<DIV id='talbe1' class='xx'></DIV>");strtable="<table><tr><td>新增加的表格1</td></tr></table>"newDIV.innerHTML=strTable;document.all.main.insertBefore(newdiv); js 兼容性问题 求javascript好书 正则 如何replace 字符中的 / 用window.showModalDialog打开的子窗口如何将数据用form提交给自己 如何用js脚本模拟 敲回车() 如何在一行内显示一些词 求教~~JAVASCRIPT改变连接状态~~~ 在JAVASCRIPT中,如何让一个按钮隐藏起来?使用什么属性呢? 谁能帮我捕捉到一个变量的值?急,深表感谢! 下面的哪错了? 有关框架网页的问题? 不好意思,刚才的关于恢复与禁止页面<a...>连接的问题,全部试过,但却禁止不了在连接<a... onclick="domyfun()">里面的onclick,点击还
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function showinput()
{
elm = event.srcElement;
if (elm.tagName != "TD") return;
elm.innerHTML = "<input onblur='hide()' value='"+elm.innerText+"' size=10 id='input1'></input>";
input1.focus();
input1.select();
}
function hide()
{
elm = event.srcElement;
elm.parentNode.innerHTML = elm.value
}
function deleteLine()
{
for (var i=tbody1.children.length-1; i>=0 ; i-- )
if (tbody1.children[i].firstChild.firstChild.checked)
tbody1.deleteRow(i);
}
function addLine()
{
elm = thead1.lastChild.cloneNode(true)
elm.style.display="";
tbody1.insertBefore(elm);
}
//-->
</SCRIPT>
<TABLE border=1 height=100>
<thead id=thead1>
<tr>
<th></th>
<th width=100></th>
<th width=100></th>
<th width=100></th>
</tr>
<TR style="display:none">
<td><input type=checkbox id=checkLine></td>
<TD>000</TD>
<TD>000</TD>
<TD>000</TD>
</TR>
</thead>
<tbody onClick="showinput()" id=tbody1>
<TR>
<td><input type=checkbox id=checkLine></td>
<TD>aaa</TD>
<TD>bbb</TD>
<TD>ccc</TD>
</TR>
<TR>
<td><input type=checkbox id=checkLine></td>
<TD>ddd</TD>
<TD>eee</TD>
<TD>fff</TD>
</TR>
<TR>
<td><input type=checkbox id=checkLine></td>
<TD>ggg</TD>
<TD>hhh</TD>
<TD>iii</TD>
</TR>
</tbody>
<tfoot>
<tr>
<td colspan=4 align=center>
<button onClick="deleteLine()">del</button>
<button onClick="addLine()">add</button>
</td>
</tr>
</tfoot>
</TABLE></body>
得到焦点的行,不知有办法否?
另:我不是增加表格的一行,而是增加了一个表格
==============
<html>
<body>
<form name="foual_taxa">
<span id="declare">
<table border="0" cellpadding="0" cellspacing="0" width="88%" onclick="aa()">
<tr>
<td width="14%" align="center">税 类</td>
<td width="22%" align="center"></td>
<td width="23%" align="center">营业额(计税依据)</td>
<td width="41%" align="center"><input name="a" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
</tr>
<tr>
<td width="14%" align="center">税 款</td>
<td width="22%" align="center"></td>
<td width="23%" align="center">课税数量</td>
<td width="41%" align="center"><input name="b" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
</tr>
<tr>
<td width="14%" align="center">税 项</td>
<td width="22%" align="center"></td>
<td width="23%" align="center">税 率</td>
<td width="41%" align="center"><input name="c" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
</tr>
<tr>
<td width="14%" align="center">税 目</td>
<td width="22%" align="center"></td>
<td width="23%" align="center">已缴(扣除数)</td>
<td width="41%" align="center"><input name="d" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
</tr>
<tr>
<td width="14%" align="center">预算级次</td>
<td width="22%" align="center"></td>
<td width="23%" align="center">应退(补)额</td>
<td width="41%" align="center"><input name="e" type="text" readonly size="29"></td>
</tr>
</table>
<hr>
</span>
</form>
<script>
<!--
foual_taxa.a.focus();
function change_value(thisvalue) {
//alert(thisvalue); var aa=foual_taxa.a.value;
var bb=foual_taxa.b.value;
var cc=foual_taxa.c.value;
var dd=foual_taxa.d.value;
if (dd=="") dd=0.00;
if(aa==""||bb==""||cc=="") {
foual_taxa.e.value="";
return;
} try {
foual_taxa.e.value=parseFloat(aa)*parseFloat(bb)*parseFloat(cc) - parseFloat(dd);
} catch(e) {
foual_taxa.e.value="";
}
}function my_keydown(){
if (event.keyCode==13){event.keyCode=9;
return true;}//if ((window.event.keyCode<48&&window.event.keyCode!=13) || window.event.keyCode>57)
// {window.event.keyCode=0;
//return false;}else
//{return true;}
with(window.event)return ((keyCode<58&&keyCode>47)||keyCode==190 || keyCode==46);}//var tesinner="<input type='text' id='sd'>";
var lrow=1;
function addrow(){
var lsinner="<table border='0' cellpadding='0' cellspacing='0' width='88%' onclick='aa()'>";
lsinner=lsinner+"<tr>";
lsinner=lsinner+"<td width='14%' align='center'>税 类</td>";
lsinner=lsinner+"<td width='22%' align='center'></td>";
lsinner=lsinner+"<td width='23%' align='center'>营业额(计税依据)</td>";
lsinner=lsinner+"<td width='41%' align='center'><input name='a"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>"; lsinner=lsinner+"</tr>";
lsinner=lsinner+"<tr>";
lsinner=lsinner+ "<td width='14%' align='center'>税 款</td> ";
lsinner=lsinner+ "<td width='22%' align='center'></td>";
lsinner=lsinner+ "<td width='23%' align='center'>课税数量</td>";
lsinner=lsinner+ "<td width='41%' align='center'><input name='b"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
lsinner=lsinner+"</tr>";
lsinner=lsinner+ "<tr>";
lsinner=lsinner+"<td width='14%' align='center'>税 项</td> ";
lsinner=lsinner+ "<td width='22%' align='center'></td>";
lsinner=lsinner+ "<td width='23%' align='center'>税 率</td> ";
lsinner=lsinner+ "<td width='41%' align='center'><input name='c"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
lsinner=lsinner+"</tr>";
lsinner=lsinner+ "<tr>";
lsinner=lsinner+ "<td width='14%' align='center'>税 目</td> ";
lsinner=lsinner+ "<td width='22%' align='center'></td>";
lsinner=lsinner+ "<td width='23%' align='center'>已缴(扣除数)</td>";
lsinner=lsinner+ "<td width='41%' align='center'><input name='d"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
lsinner=lsinner+"</tr>";
lsinner=lsinner+"<tr>";
lsinner=lsinner+"<td width='14%' align='center'>预算级次</td>";
lsinner=lsinner+"<td width='22%' align='center'></td>";
lsinner=lsinner+"<td width='23%' align='center'>应退(补)额</td>";
lsinner=lsinner+ "<td width='41%' align='center'><input name='e"+lrow+"' type='text' readonly size='29'></td>";
lsinner=lsinner+"</tr>";
lsinner=lsinner+"</table>";
lsinner=lsinner+"<hr>"; var myinner="declare.innerHTML=declare.innerHTML+\""+lsinner+"\"";
eval(myinner);
with(document.body)scrollTop=scrollHeight;
lrow++;
}
function aa()
{
var e=event.srcElement
if(e!=null)
{
while(e.tagName!="TABLE") e=e.parentElement
}
var t=document.getElementsByTagName("TABLE")
for(i=0;i<t.length;i++){
if(e==t[i])
parent.right1.document.all.tID.value=i
}
}
//-->
</script>
=================
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" align="right"><input type="button" value="增加(A)" name="add" onclick="parent.right.addrow();">
<input type="button" value="删除(D)" name="delete" onclick="del()">
<input type="button" value="确定(O)" name="ok">
<input type="button" value="取消(C)" name="ok">
<input type="hidden" value="" id="tID">
</td>
</tr>
</table>
</center>
</div>
<script>
function del()
{
var e=parent.right.document.getElementsByTagName("TABLE")[parseInt(document.all.tID.value)]
if(e)
e.parentNode.removeChild(e)
}
</script></body>
<input type="hidden" value="" id="tID">
定义的,换个别的什么看看
<input type="text" value="" id="tID">
我测试没有问题的,思路就是这样,根据情况可适当修改
你的表格都在这个id="mian"中
增加时用 document.all.main.insertBefore(newdiv)
newdiv是你新增加的每个表格的定义项
示例:
var newDIV=document.createElement("<DIV id='talbe1' class='xx'></DIV>");
strtable="<table><tr><td>新增加的表格1</td></tr></table>"
newDIV.innerHTML=strTable;
document.all.main.insertBefore(newdiv);