不对啊,没括号根本通不过。
我是这样写的:
function 控件名_事件名
{
...
}
有问题吗?

解决方案 »

  1.   

    javascript一般这样写:<script>
    function test(){
    alert("你好!")
    }
    function init(){
    document.onclick=test

    </script>
    <body onload="init()">
      

  2.   

    你要是想用VBScript,就指定语言是VBScript
    <Script Language="VBScript">
      function 控件名_事件名()
       ……  
      End Function
      Sub 控件名_事件名()
      ……  
      End Sub
    </Script>在JavaScript里,你要在控件的事件里指定函数
    如上面孟子E章所述如果你不想在控件后面指明,你可以在程序里指明对象和事件,有点象VBScript的意思
    <SCRIPT LANGUAGE=javascript FOR=控件名 EVENT=Click>
    <!--
     ……
    //-->
    </SCRIPT>
      

  3.   

    我的代码大致是这样的:
    <SCRIPT LANGUAGE=javascript>
    <!--
    function 控件名_事件名()
    {
    ........
    }
    //-->
    </SCRIPT>
    但是这样写是没有作用的,如果去掉括号,就不通过了。
    按照梦居士的写法是通过了,但是好像很奇怪的样子,一个事件就必须单独写一个<script></script>,好像很麻烦,而且在不同的script段里定义的变量就无法调用了!!!
    而如果按照在控件的事件里指定函数的方法我没有试出来,不知道是怎么回事,我的代码是这样的:<script>
    function test(){
    ....
    }
    function init(){
    控件名.事件名=test

    </script>
    <body onload="init()"> 
    能告诉我为什么无效吗?
      

  4.   

    我的是用微软的Calendar控件,有问题吗?
      

  5.   

    1.采用 Event=  for = 方法,变量不能调用的问题
    因为实际上采用这种方法,每一个
    <SCRIPT LANGUAGE=javascript FOR=控件名 EVENT=Click>
    <!--
    ……
    //-->
    </SCRIPT>
    实际上是一个函数,在函数内部函数,别的函数当然不能调用了。
    解决方法就是定义一个页面级的变量。
    2."在控件的事件里指定函数的"
    把你的代码贴出来。
    我怀疑是由于控件有些属性在IE里不解释的原因,比如你想让他消失,就必须把它放在一个Div里面,让Div消失才行。
      

  6.   

    这是我的代码,已经精简过了。目的是点了控件的日期,就可以在上面的输入框中立即显示出来。
    <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里不解释的原因”。
    还有,页面级变量怎么定义?
      

  7.   

    我觉得就是因为它是控件的原因,有些属性IE不解释的。我一般就是用Event=的方法页面级变量的声明<html>
    <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>
      

  8.   

    不是你的方法不行,你的代码写的不规范,<!-- -->加的不是地方
    这样就很好啊!!
    <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>
      

  9.   

    在html代码里,<!--    -->是注释,不进行结解释的!切记!!!!!!
      

  10.   

    我这里还有一个完全javascript做的类似的功能的代码,也很方便的,你要是想要的,到我的竹叶去拷贝吧!
      

  11.   

    孟子E章老兄真会开玩笑,我当然知道,<!--    -->是干什么的啦,之所以注释掉,是因为这段的确有用,而我出问题的那段才是要老兄帮忙解决的,我上面的帖子不是写得很清楚吗?
    还有梦居士说的“因为它是控件的原因,有些属性IE不解释的”我觉得也不对啊,因为同样的VBScript就很好,为什么Javascript就不行呢???
    不管怎么样,我还是先把分数给两位吧,分数虽然少,但也是小弟的一番谢意,希望大家还能继续关注,解决这个问题!