一个简单的javascript问题--将一段javascript语句类化

xinandy2001 2006-02-11 12:38:05
问题描述:
现在我编写了一段javascript函数。例如:
function KeyPress(here,condition)
{ if(condition=="txtCodeInput1")
{ alert("aa");}
if (event.keyCode==13)
{ if(here.value=="")
{ alert("bb");}
else
{ var name=andy;
AddSpace(name,5);}
return false;
}
}
function AddSpace(string,length)
{ var k;
for (k=0;k<length;k++)
{ string=string + " ";}
return(string);
}
<input id="txtCodeInput1" onkeydown="return KeyPress(this,'txtCodeInput1')" type="text" name="txtCodeInput1" runat="server">
目的是为了在输入框中按下回车的时候响应KeyPress函数。但是现在由于我在很多页面都要用到这个功能,所以我想把这段javascript语句给单独拿出来,做成类似于类。这样其他页面就可以省去同样的代码,同时也便于管理.
不知道各位能不能给我提供帮助,谢谢!
在线等,问题一解决立刻给分!
...全文
188 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
laochake 2006-02-12
  • 打赏
  • 举报
回复
调试脚本要写一点调一点,
当出现脚本错误定位错误地点时可以先把复杂代码删掉,
再一点一点往里加
cremerchen 2006-02-12
  • 打赏
  • 举报
回复
把函数写在一个函数文件里,比如 fuction.js

然后在页面里应用这个页面
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="fuction.js"></SCRIPT>

然后就可以直接用函数了
孟子E章 2006-02-11
  • 打赏
  • 举报
回复
可以直接写在
<body onkeypress=""
Dogfish 2006-02-11
  • 打赏
  • 举报
回复
mingxuan3000(铭轩) is right.
mingxuan3000 2006-02-11
  • 打赏
  • 举报
回复
在common.js里先写一个函数
function test(a){
document.formname.textname.value=a;
}
在页面的一个button里的onclick调用这个函数,如果这样没问题,

把这个函数换成上面的 KeyPress(here,condition),有问题就说名是函数本生的问题,
调试时要慢慢的一点一点的试
xinandy2001 2006-02-11
  • 打赏
  • 举报
回复
没有错误代码。只是页面左下角出现出错符号,同时没有调用函数进行处理。也有可能是别的函数的问题,但是如果把所有javascript语句都写在页面中就没有问题。只是单独的拿出来写在.js中就出现了问题。
郁闷死了。过几天就要上交程序了,可是这个简单的问题却没有解决
DeluxWorld 2006-02-11
  • 打赏
  • 举报
回复
可能是函数本身就有问题,错误代码是什么呢?
mingxuan3000 2006-02-11
  • 打赏
  • 举报
回复
会不会是别的函数有问题
xinandy2001 2006-02-11
  • 打赏
  • 举报
回复
还是不成功,可能我没有理解好,我在调试调试。
我的操作过程是:添加一个.js文件,将javascript函数copy进去
之后再html页面<script language="javascript" src="obj.js"></script>引用
之后控件操作时调用如:<input id="txtCodeInput1" onkeydown="return KeyPress(this,'txtCodeInput1')" type="text" name="txtCodeInput1" runat="server">
调试时:初期页面显示没有错误,但我一往控件中输入页面就显示为错误

实在不好意思,一个简单的问题耽误大家的时间:)

xinandy2001 2006-02-11
  • 打赏
  • 举报
回复
一开始我也是这样做的,可是页面老是报错,因为我是个新手,也不知道什么原因。
只是没有参数的函数能够成功执行,有参数就报错。
mingxuan3000 2006-02-11
  • 打赏
  • 举报
回复
是呀,怀疑有人在不停的刷新
Taciterry 2006-02-11
  • 打赏
  • 举报
回复
呃。。。
又有人比我快,都好几次了,郁闷。。。
Taciterry 2006-02-11
  • 打赏
  • 举报
回复
不用类化,你这情况引用比较好

obj.js
=======================
function KeyPress(here,condition)
{ if(condition=="txtCodeInput1")
{ alert("aa");}
if (event.keyCode==13)
{ if(here.value=="")
{ alert("bb");}
else
{ var name=andy;
AddSpace(name,5);}
return false;
}
}
function AddSpace(string,length)
{ var k;
for (k=0;k<length;k++)
{ string=string + " ";}
return(string);
}
function crtCodeInput(){
document.write("<input id=\"txtCodeInput1\" onkeydown=\"return KeyPress(this,'txtCodeInput1')\" type=\"text\" name=\"txtCodeInput1\" runat=\"server\">");
}


test.htm
=======================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script src="obj.js"></script>
</head>

<body>
<script>
crtCodeInput()
</script>
</body>
</html>
mingxuan3000 2006-02-11
  • 打赏
  • 举报
回复
上面的javascript函数做成commom.js文件,每个页面引用这个commom.js,就可以各个页面就可直接调用函数
commom.js:
function KeyPress(here,condition)
{ if(condition=="txtCodeInput1")
{ alert("aa");}
if (event.keyCode==13)
{ if(here.value=="")
{ alert("bb");}
else
{ var name=andy;
AddSpace(name,5);}
return false;
}
}
function AddSpace(string,length)
{ var k;
for (k=0;k<length;k++)
{ string=string + " ";}
return(string);
}


1.html
<script language="javascript" src="../commom.js"></script>
<input id="txtCodeInput1" onkeydown="return KeyPress(this,'txtCodeInput1')" type="text" name="txtCodeInput1" runat="server">


2.html
<script language="javascript" src="../commom.js"></script>
<input id="txtCodeInput1" onkeydown="return KeyPress(this,'txtCodeInput1')" type="text" name="txtCodeInput1" runat="server">
DeluxWorld 2006-02-11
  • 打赏
  • 举报
回复
把function KeyPress(here,condition)
{ if(condition=="txtCodeInput1")
{ alert("aa");}
if (event.keyCode==13)
{ if(here.value=="")
{ alert("bb");}
else
{ var name=andy;
AddSpace(name,5);}
return false;
}
}放在common.js中,然后在你的web页面中导入common.js,需要调用时调用KeyPress(here,condition)就可以了
xinandy2001 2006-02-11
  • 打赏
  • 举报
回复
不明白,能否说的明白一些。上面的javascript函数在其他页面也要用,我不想再每个页面都写上这段代码,只是想把这段代码拿出来做成像类那样,以后各个页面就可以直接调用!

87,994

社区成员

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

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