请问这样的问题如何解决?

hzpengyou 2002-12-16 10:41:41
我这里有两个aspx文件,其中一个的html中有如下内容:
.....
<HEAD>
<META content="Microsoft Visual Studio 7.0" name="GENERATOR">
<META content="C#" name="CODE_LANGUAGE">
<META content="JavaScript" name="vs_defaultClientScript">
<META content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="../common/forum.css" type="text/css" rel="stylesheet">
/******************************
<script language="javascript" src="../common/client.js"></script>
</HEAD>
<body onkeydown="window_onkeydown()" leftMargin="20" onload="window_onload()">
/******************************
......
打心号的内容在其中一个aspx中运行正常,在另一个aspx中运行时就会出现找不到对象的错误,我知道是client.js运行时出现的错误,但是怎么一个aspx没问题一个有问题?client.js的作用是使用上下左右键时可以在text框中移动,他的代码如下:

function window_onkeydown() {
/*实现上下左右回车键移动功能
原理:
向右、回车可转换成TAB实现向右移动
向左移动原理上可以转换成shift+tab实现,但实际上换后不移动。
用srouceindex属性和循环的方法取得下一控件的index,设置焦点。
上下移动的实现:直接找到想要移动的上下控件名,用focus指定焦点。
为实现此功能,规定同一列的控件ID必须递增。如name0,name1
*/

var t=event.srcElement.type;
var kc=event.keyCode;
var iindex=event.srcElement.sourceIndex;
if(kc==37 )
{
//window.event.keyCode=15;// 左换成shift+tab ? 这样不起作用,用下面的方法
var i;
for(i=1;i<iindex;i++)
{
var itype=document.all(iindex-i).type;
if(itype=="text"||itype=="select-one")//只有text和select-one才得到焦点
{
document.all(iindex-i).focus();
break;
}
}
}
else if(kc==39) //右键换成tab
{
window.event.keyCode=9;
}
else if(kc==13&&t!="button"&&t!="submit"&&t!="cancel"&&t!="textarea")
{
window.event.keyCode=9; //把回车换成TAB键
}
else if((kc==38||kc==40)&&t!="select-one")//选择控件时不上下移,用回车移
{
var cid=new String();//取控件ID的前面字母部分和后面数字,要求表示相同内容的ID必须是递增的,如:name0,name1
cid=event.srcElement.id;
var i,cstart="",cend="",nc;
for(i=cid.length-1;i>=0;i--)//从后面开始的数字
{
var c=new String();
c=cid.charAt(i);
if(isNaN(c))//第一个非数字
{
cstart=cid.substr(0,i+1);
cend=cid.substr(i+1); //后面数字部分
//document.write("<p>start:"+cstart+" cend:"+cend);
if(kc==38) //向上键,上移到相同内容的上一控件
nc=cstart+(parseInt(cend)-1);
if(kc==40)
nc=cstart+(parseInt(cend)+1);
try
{
document.all(nc).focus();

}
catch(e){}
break;
}
}

}
}

function window_onload()
{
// 将光标停在第一个TEXT控件
var i;
for(i=0;i<document.all.length;i++){
if (window.document.all(i).type=="text"){
window.document.all(i).focus();
break;
}
}
}

...全文
25 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragon2002 2002-12-16
  • 打赏
  • 举报
回复
首先谢谢你提供的client.js

其次我认为只有看运行生成后的.aspx的htnl源代码。看那里有冲突。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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