会不会很难?????

lhdjk 2002-09-25 03:48:52
<html>
<head><script>
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++)
n.insertCell().innerHTML=r.cells(i).innerHTML
}
</script>
</head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
<table>
<tr>
<th>姓名</th><th>年龄</th><th>城市</th>
</tr>
<tr>
<td><input type=text name="待写入的值1" value=""></td>
<td><input type=text name="待写入的值2" value=""></td>
<td><input type=text name="待写入的值3" value="" onkeydown=addNew()></td>
</tr>
</table>
</body></html>

上边代码中:当我在最后一个input中输入回车后,就会自动增加一行,但出现了一个不希望看到的问题:显示结果如下:

姓名 年龄 城市
TOM 25 北京
TOM 25

问题1:
能不能帮忙修改成,在最后一个input中输入值后,不自动增加,只在每一行的最后一个input中输入值后,再按下回车键后才增加一行???
问题2:
删除也有问题,即:只能在最后一行的上行中同时按下ctrl+D键,删除光标所在的行,能不能在每一行的任意input中按下ctrl+D键,就删除任意行???
...全文
20 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhdjk 2002-09-26
  • 打赏
  • 举报
回复
对不起,onestab(十一)哥!!!
是我自起的错!!!
lhdjk 2002-09-25
  • 打赏
  • 举报
回复
onestab(十一):
不行呀!!!
您给我的,只能在每一个<td><input><input><input></td>的最后一个<input>框中按下crtl+D时才能删除.能不能在任意<input>中删除一行呢?
方工 2002-09-25
  • 打赏
  • 举报
回复
我试过,没问题的呀?(IE6)
lhdjk 2002-09-25
  • 打赏
  • 举报
回复
onestab(┼─) :
为什么不能在任意input中删除一行<td></td>呢?

Reve(仨仁仕)的可以呀!
方工 2002-09-25
  • 打赏
  • 举报
回复
Reve(仨仁仕)的function addNew()改为:
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(event.keyCode == 13) {
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++)
n.insertCell().innerHTML=r.cells(i).innerHTML;
var inputs = n.getElementsByTagName("INPUT");
for(i=0;i<inputs.length;i++) inputs(i).value="";
}
}
lhdjk 2002-09-25
  • 打赏
  • 举报
回复
Reve(仨仁仕) 请你快出现吧!
<html>
<head><script>
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(event.keyCode == 13) {
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++)
n.insertCell().innerHTML=r.cells(i).innerHTML
}
}
function delRow(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(t.rows.length>r.rowIndex+1)return true;
}
</script>
</head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
<table>
<tr>
<th>姓名</th><th>年龄</th><th>城市</th>
</tr>
<tr>
<td><input type=text name="待写入的值1" value="" onkeydown="delRow();"></td>
<td><input type=text name="待写入的值2" value="" onkeydown="delRow();"></td>
<td><input type=text name="待写入的值3" value="" onkeydown="addNew();"></td>
</tr>
</table>
</body></html>

问题:

Reve(仨仁仕)老师:您给我的这段代码还是出现了我提的那个问题呀!

即:例如我在一第行的三个input中输入出了值后,在第一行的最后一个input中键入回车后,自动增加了第二行,但是第二行中却自动包含了第一行中输入的值.如可才能只让它自动增加第二行,而不带值呢???

你代码所输出的效果如下:
姓名 年龄 城市
aaa bbb ccc
aaa bbb ccc
Reve 2002-09-25
  • 打赏
  • 举报
回复
<html>
<head><script>
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(event.keyCode == 13) {
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++)
n.insertCell().innerHTML=r.cells(i).innerHTML
}
}
function delRow(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
}
if(t.rows.length>r.rowIndex+1)return true;
}
</script>
</head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
<table>
<tr>
<th>姓名</th><th>年龄</th><th>城市</th>
</tr>
<tr>
<td><input type=text name="待写入的值1" value="" onkeydown="delRow();"></td>
<td><input type=text name="待写入的值2" value="" onkeydown="delRow();"></td>
<td><input type=text name="待写入的值3" value="" onkeydown="addNew();"></td>
</tr>
</table>
</body></html>
flashasp 2002-09-25
  • 打赏
  • 举报
回复
动态添加删除的。。。。。。。。。

<TABLE ID="tblData">
<TR>
<TH>input</TH>

</TR>
</TABLE>

<INPUT TYPE="button" ONCLICK="AddRow();" VALUE="Add Data">
<INPUT TYPE="button" ONCLICK="DeleteRow(eButton);" VALUE="eButton" name="del">
<SCRIPT LANGUAGE="JScript"><!--

function AddRow()
{
var eNewRow = tblData.insertRow();
for (var i=0;i<1;i++)
{
var eNewCell = eNewRow.insertCell();
eNewCell.innerHTML = "<input type=text value='test'>";
}
}

function DeleteRow(eButton)
{
var eRow = eButton.parentElement.parentElement;
tblData.deleteRow(eRow.rowIndex);
}

//--></SCRIPT>
qiushuiwuhen 2002-09-25
  • 打赏
  • 举报
回复
html>
<head>
<script>
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
if(keyCode!=13||e.parentElement.cellIndex!=2)return true;
}
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++){
var c=n.insertCell();
c.innerHTML=r.cells(i).innerHTML;
c.children[0].value="";
}
}
</script>
</head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
<table>
<tr>
<th>姓名</th><th>年龄</th><th>城市</th>
</tr>
<tr>
<td><input type=text name="待写入的值1" value="" onkeydown=addNew()></td>
<td><input type=text name="待写入的值2" value="" onkeydown=addNew()></td>
<td><input type=text name="待写入的值3" value="" onkeydown=addNew()></td>
</tr>
</table>
</body></html>

87,996

社区成员

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

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