不对啊,没括号根本通不过。
我是这样写的:
function 控件名_事件名
{
...
}
有问题吗?
我是这样写的:
function 控件名_事件名
{
...
}
有问题吗?
解决方案 »
- 求一段在线视频FLV播放器的代码,要求有全屏功能
- js input file 问题
- JavaScript中调用应用程序的问题
- 求助!鼠标点击后在所点位置留下一个十字标记和坐标数值
- 如何使用js cookie,让浏览器恢复历史信息(在线,散分)
- 如何在Alpha形成的透明效果上添加亮点
- 如何判断控件的类型???急急急
- 当多个同样的JS组件放到同一页面就会打架有冲突,类似这样的问题怎么解决???
- 判断SCRIPT标签加载完成
- javascript如何将一个字符串和一个变量连接起来
- javascript函数能有返回值吗?在ASP中如何调用这个返回值
- 菜鸟问题,各位大虾,怎样再web页面中屏蔽鼠标右键
function test(){
alert("你好!")
}
function init(){
document.onclick=test
}
</script>
<body onload="init()">
<Script Language="VBScript">
function 控件名_事件名()
……
End Function
Sub 控件名_事件名()
……
End Sub
</Script>在JavaScript里,你要在控件的事件里指定函数
如上面孟子E章所述如果你不想在控件后面指明,你可以在程序里指明对象和事件,有点象VBScript的意思
<SCRIPT LANGUAGE=javascript FOR=控件名 EVENT=Click>
<!--
……
//-->
</SCRIPT>
<SCRIPT LANGUAGE=javascript>
<!--
function 控件名_事件名()
{
........
}
//-->
</SCRIPT>
但是这样写是没有作用的,如果去掉括号,就不通过了。
按照梦居士的写法是通过了,但是好像很奇怪的样子,一个事件就必须单独写一个<script></script>,好像很麻烦,而且在不同的script段里定义的变量就无法调用了!!!
而如果按照在控件的事件里指定函数的方法我没有试出来,不知道是怎么回事,我的代码是这样的:<script>
function test(){
....
}
function init(){
控件名.事件名=test
}
</script>
<body onload="init()">
能告诉我为什么无效吗?
因为实际上采用这种方法,每一个
<SCRIPT LANGUAGE=javascript FOR=控件名 EVENT=Click>
<!--
……
//-->
</SCRIPT>
实际上是一个函数,在函数内部函数,别的函数当然不能调用了。
解决方法就是定义一个页面级的变量。
2."在控件的事件里指定函数的"
把你的代码贴出来。
我怀疑是由于控件有些属性在IE里不解释的原因,比如你想让他消失,就必须把它放在一个Div里面,让Div消失才行。
<html>
<body onload="javascript:load()"><form name="frm" method="post">
时间:<input type="text" name="begintime" size="10"">
</form>
<object id="Calendar" classid="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"
width="250" height="200"
codebase="MSCAL.OCX"><!-- Control name:Canlendar Control -->
</object><script language="JavaScript">
<!--
function update()
{
frm.begintime.value = Calendar.Year + "-" + Calendar.Month + "-" + Calendar.Day
}function load()
{
Calendar.AfterUpdate=update
}
-->
</script><!--
<SCRIPT LANGUAGE=javascript FOR=Calendar EVENT=AfterUpdate>
document.frm.begintime.value = Calendar.Year + "-" + Calendar.Month + "-" + Calendar.Day
</SCRIPT>
--><!--
<script language="VBScript">Sub Calendar_AfterUpdate()
frm.begintime.value = Calendar.Year & "-" & Calendar.Month & "-" & Calendar.Day
end sub</script>
//-->
</body>
</html>
其中注释掉的两段Script都是可以运行的,一种就是用了Event=的,还有一种是原先我使用的,VBScript的方法。
似乎不是zjtn所说的“有些属性在IE里不解释的原因”。
还有,页面级变量怎么定义?
<body >
<SCRIPT LANGUAGE="JavaScript">
<!--
var strPage
strPage = "我是页面级变量!你还没有点击Calendar"
//-->
</SCRIPT>
<form name="frm" method="post">
时间:<input type="text" name="begintime" size="10"">
</form>
<object id="Calendar" classid="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"
width="250" height="200"
codebase="MSCAL.OCX"><!-- Control name:Canlendar Control -->
</object><SCRIPT LANGUAGE=javascript FOR=Calendar EVENT=AfterUpdate>
document.frm.begintime.value = Calendar.Year + "-" + Calendar.Month + "-" + Calendar.Day
strPage="我是页面级变量!你点击了Calendar。"
</SCRIPT><SCRIPT LANGUAGE="JavaScript">
<!--
function FindstrPage()
{
alert(strPage)}
//-->
</SCRIPT>
<button onclick='FindstrPage()'>察看页面级变量</button>
</body>
</html>
这样就很好啊!!
<html>
<body onload="javascript:load()"><form name="frm" method="post">
时间:<input type="text" name="begintime" size="10"">
</form>
<object id="Calendar" classid="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"
width="250" height="200"
codebase="MSCAL.OCX"><!-- Control name:Canlendar Control -->
</object><script language="JavaScript">
<!--
function update()
{
frm.begintime.value = Calendar.Year + "-" + Calendar.Month + "-" + Calendar.Day
}function load()
{
Calendar.AfterUpdate=update
}
-->
</script><!-- -->
<SCRIPT LANGUAGE=javascript FOR=Calendar EVENT=AfterUpdate>
document.frm.begintime.value = Calendar.Year + "-" + Calendar.Month + "-" + Calendar.Day
</SCRIPT>
<!--
<script language="VBScript">Sub Calendar_AfterUpdate()
frm.begintime.value = Calendar.Year & "-" & Calendar.Month & "-" & Calendar.Day
end sub</script>
//-->
</body>
</html>
还有梦居士说的“因为它是控件的原因,有些属性IE不解释的”我觉得也不对啊,因为同样的VBScript就很好,为什么Javascript就不行呢???
不管怎么样,我还是先把分数给两位吧,分数虽然少,但也是小弟的一番谢意,希望大家还能继续关注,解决这个问题!