你的javascript代码没问题,应该是其他的问题

解决方案 »

  1.   

    可我要手动刷新menu.jsp才行,加了段JavaScript还是如此。难道jsp里不能用JavaScript?
      

  2.   

    是个登陆用的jsp,大家帮个忙啦,解决的人请到http://expert.csdn.net/Expert/topic/2452/2452717.xml?temp=.5895502,再领20分。
      

  3.   

    jsp肯定能用js了。你那个函数什么时候执行了?self.top.frames["leftFrame"].document.location.reload();
      

  4.   

    是呀,你什么时候调用了你的RefreshFrame()函数了呀?
      

  5.   

    老大,javascript的执行跟jsp或是asp或是php无关,只要能把javascript发送到客户哪里就可以了,能不能运行javascript取决于客户端的环境,我想无论是cgi,php,asp,jsp把javascript象html代码一样发送到客户端是没有问题的回到你这个问题上来:我觉得你应该贴出完整的代码来!!!不要让人猜谜一样,浪费大家的时间!
      

  6.   

    代码很多啦,我只能把相关的贴出来,我觉得贴得少了大家也好看得清楚啊。我再加些注释吧相关主页面的html代码:
    <frameset cols="150,*" frameborder="NO" border="0" framespacing="0"> 
       <frame name="leftFrame" scrolling="NO" src="menu.jsp">
       <frame name="mainFrame" src="login.jsp">
    </frameset>
    ==========================
    就是这个frameset,2个frame都靠session控制,登陆成功后menu.jsp里显示相应的菜单(有普通和管理员两个类型)login.jsp:
    <%
             ……………………   //读取登陆数据,判断是否成功以及登陆人员的类型
             if(作为普通用户登陆成功){
        session.setAttribute("UserType","1");//设置session,是普通用户登陆
    %><SCRIPT LANGUAGE="JavaScript">
    function RefreshFrame()
    {
    parent.leftFrame.location.reload();
    }
    </SCRIPT>
    <!--刷新leftFrame(菜单),leftFrame是jsp,通过判断session里的UserType属性来选择相应的菜单。好象是定义了但没调用的问题,但怎么调用呢?我对JavaScript不熟--><jsp:forward page="normalUserMenu.jsp"/>
    <!--登陆成功,mainFrame也刷为相应的jsp-->
    %
        }//end if
    %〉
      

  7.   

    胡乱看了些JavaScript的教程,我看到的函数全是靠事件触发的。可我不需要触发啊:(55555555
    我把函数加了个返回值,在JavaScript段里面调,可还是不行。
    <SCRIPT LANGUAGE="JavaScript"> function SetFrameHeight()
    {
    var a = 10;
    parent.leftFrame.location.reload();
    return a; 
    }
    </SCRIPT>
    =====================
    定义<SCRIPT LANGUAGE="JavaScript"> var b = SetFrameHeight();</SCRIPT>
    ========================
    调用怎么在jsp里调用JavaScript里的函数?
      

  8.   

    在jsp中调用js:
    例如:<input name="" value="" onsubmit="return 函数();">
    这也要看你是什么控件要触发这个函数,因为可能是onsubmit,也可能是onchange
      

  9.   

    首先肯定的是JSP不可能调用JS
    JSP在服务端最终生成的只是一段文本,就是HTML,也包含了DHTML、Script等内容返回到客户端IE。JS最终被客户端的IE执行所以要从客户端刷新只能用JS如果不能用reload刷新,就用submit提交到你的leftform,也可以起到刷新的效果
      

  10.   

    "我看到的函数全是靠事件触发的。可我不需要触发啊"这样写试试:
    <SCRIPT LANGUAGE="JavaScript">
    function RefreshFrame()
    {
    parent.leftFrame.location.reload();
    }
    RefreshFrame();
    </SCRIPT>
      

  11.   

    终于明白了,是JavaScript代码不能和jsp页面重定向代码混用的问题,不管是<jsp:forward page="……"/>还是request.sendRedirect("……")。不过距离足够远还是可以的,我现在把JavaScript代码放到jsp文件的最开始来解决问题。