把你的函数改了一下, 不过感觉你的设计思路不是很周全:
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>js-tablegrid2</TITLE>
<script language="javascript">
var colnum=5;
function ShowNext(e)
{
var grid = document.getElementById("grid");
col=grid.rows.length; //行数
if(event) event.cancelBubble=true;
if(e)
{
var tr = e.parentNode.parentNode;
if(tr.rowIndex<col-1)
{
grid.rows[tr.rowIndex+1].cells[1].childNodes[0].focus();
return;
}
}
var gridtr=grid.insertRow(col); //表格添加行
for(i=0;i<colnum;i++)
{
var gridtd=gridtr.insertCell(i); //行添加列
if(i<colnum-1)
{
if(i<1)
{
gridtd.innerHTML="<input type=button value=- onclick='parentNode.parentNode.removeNode(true)'>";
}
else
{
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+">";
}
}
else
{
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+" "+
"onKeyDown=\"if(event.keyCode==13){ShowNext(this);}\">";
}
}
window.status="Rowcords:"+(col+1);
document.all("r"+col+"c1").focus();
}
</script>
</HEAD>
<body onKeyDown="if (event.keyCode==13) event.keyCode=9;">
<table id="grid" width=895 border=1 bordercolor=#dcdcdc bgcolor=#eff8fc cellpadding=0 cellspacing=0></table>
<script language="javascript">
ShowNext();
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>js-tablegrid2</TITLE>
<script language="javascript">
var colnum=5;
function ShowNext(e)
{
var grid = document.getElementById("grid");
col=grid.rows.length; //行数
if(event) event.cancelBubble=true;
if(e)
{
var tr = e.parentNode.parentNode;
if(tr.rowIndex<col-1)
{
grid.rows[tr.rowIndex+1].cells[1].childNodes[0].focus();
return;
}
}
var gridtr=grid.insertRow(col); //表格添加行
for(i=0;i<colnum;i++)
{
var gridtd=gridtr.insertCell(i); //行添加列
if(i<colnum-1)
{
if(i<1)
{
gridtd.innerHTML="<input type=button value=- onclick='parentNode.parentNode.removeNode(true)'>";
}
else
{
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+">";
}
}
else
{
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+" "+
"onKeyDown=\"if(event.keyCode==13){ShowNext(this);}\">";
}
}
window.status="Rowcords:"+(col+1);
document.all("r"+col+"c1").focus();
}
</script>
</HEAD>
<body onKeyDown="if (event.keyCode==13) event.keyCode=9;">
<table id="grid" width=895 border=1 bordercolor=#dcdcdc bgcolor=#eff8fc cellpadding=0 cellspacing=0></table>
<script language="javascript">
ShowNext();
</script>
</BODY>
</HTML>
解决方案 »
- 用ajax $.post数据时,返回的数据中文乱码
- 哪个函数可以返回当前日期时间的数字格式?
- 鼠标移动到text就得到值,然后离开也得到值,进行比较,如果不同就提交表单
- offsetwidth 在ie和 firefox1.5下值不相同的问题
- 寻找javascript教程不要jscript的
- 十分紧急制作网页菜单的好工具--allwebmenus谁能提供注册码或者注册机呢??
- javascript与asp的问题
- SOS紧急求救!!!
- 问题,如果实现在一个页面检查用户名
- asp为什么使用javascript会发生问题?
- 把一数组内容放到一长字符串中,然后在拆分开
- 請問一下怎樣將一個文本框控件對象(TextPass)利用cmdOk.Attributes.Add("onclick", "checkuserpass()")給傳進去。
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>js-tablegrid2</TITLE>
<script language="javascript">
var colnum=5;
function ShowNext(e) {
var grid = document.getElementById("grid");
col=grid.rows.length; //行数
if(event) event.cancelBubble=true;
if(e) {
var tr = e.parentNode.parentNode;
if(tr.rowIndex<col-1) {
grid.rows[tr.rowIndex+1].cells[1].childNodes[0].focus();
return;
}
}
var gridtr=grid.insertRow(col); //表格添加行
for(i=0;i<colnum;i++) {
var gridtd=gridtr.insertCell(i); //行添加列
if(i<colnum-1) {
if(i<1) {
if(col<1) {
gridtd.innerHTML="<input type=button value=->";
} else {
gridtd.innerHTML="<input type=button value=- onclick='parentNode.parentNode.removeNode(true)'>";
}
} else {
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+">";
}
} else {
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+" "+"onKeyDown=\"if(event.keyCode==13){ShowNext(this);}\">";
}
}
window.status="Rowcords:"+(col+1);
document.all("r"+col+"c1").focus();
}
</script>
</HEAD>
<body onKeyDown="if (event.keyCode==13) event.keyCode=9;">
<!--#include file="../menuroot.asp"-->
<table id="grid" width=895 border=1 bordercolor=#dcdcdc bgcolor=#eff8fc cellpadding=0 cellspacing=0></table>
<script language="javascript">
ShowNext();
</script>
</BODY>
</HTML>但是有个怪现象:就是状态栏上显示的行数和我实际看到的行数不相符啊。
但是 window.status="Rowcords:"+(col+1); 仍然显示是5行。
怎么会这样呢,我该取哪个变量?
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>js-tablegrid2</TITLE>
<script language="javascript">
var colnum=5;
function delRow(e)
{
var grid = document.getElementById("grid");
var tr = e.parentNode.parentNode;
if(grid.rows.length > 1) tr.removeNode(true);
window.status="Rowcords:"+ grid.rows.length;
}
function ShowNext(e) {
var grid = document.getElementById("grid");
col=grid.rows.length; //行数
window.status="Rowcords:"+ col;
if(event) event.cancelBubble=true;
if(e) {
var tr = e.parentNode.parentNode;
if(tr.rowIndex<col-1) {
grid.rows[tr.rowIndex+1].cells[1].childNodes[0].focus();
return;
}
}
var gridtr=grid.insertRow(col); //表格添加行
window.status="Rowcords:"+(col+1);
for(i=0;i<colnum;i++) {
var gridtd=gridtr.insertCell(i); //行添加列
if(i<colnum-1) {
if(i<1) {
gridtd.innerHTML="<input type=button value=- onclick='delRow(this)'>";
} else {
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+">";
}
} else {
gridtd.innerHTML="<input type=text id=r"+col+"c"+i+" name=r"+col+"c"+i+" "+"onKeyDown=\"if(event.keyCode==13){ShowNext(this);}\">";
}
}
document.all("r"+col+"c1").focus();
}
</script>
</HEAD>
<body onKeyDown="if (event.keyCode==13) event.keyCode=9;">
<!--#include file="../menuroot.asp"-->
<table id="grid" width=895 border=1 bordercolor=#dcdcdc bgcolor=#eff8fc cellpadding=0 cellspacing=0></table>
<script language="javascript">
ShowNext();
</script>
</BODY>
</HTML>