情况这样的:父窗口代码:    index.html:(部分)     <frameset rows="46,*"frameborder="yes"border="1" bordercolor=gray  framespacing="6">
     <frame src="login.jsp" noresize name="topFrame"id="topFrame"></frame>
    <frameset cols="10%,*"frameborder="yes"border="1" bordercolor=gray id="bootomFrame">
        <frame src="function.jsp"name="leftFrame"id="leftFrame"noresize></frame>
        <frame src="product_list.jsp"name="rightFrame"id="rightFrame"noresize></frame>
    </frameset>   
    
</frameset>我想通过子窗口刷新父窗口一次,但是表现出来的是要么不停的刷新,要么就不刷新,怎么改呢?代码这样的:子窗口:login.jsp<%@ page language="java" contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>登录</title>
<style>
</head><body>     <script language=JavaScript> 
          parent.location.reload(); 
     </script>

         <%
           System.out.println("a");
         %>        <form method="post" action="checkLogin.jsp">
                     用户名:<input type=text name="id" width="5%"></input>
                    密码:<input type=password name="password" width="5%"></input>
           <input type="submit" name="Submit" value="登录"></input>
            <a href="register.jsp"target="_blank">免费注册</a>(<font color=red>未注册</font>)
             
            </form></body>
</html>
其中红色的部分就是刷新用的,只是如何改才保证只刷一次呢,

解决方案 »

  1.   

    这肯定会不停的刷啊,你把 
    <script language=JavaScript> 
         parent.location.reload(); 
    </script>写到一个方法中去就可以了,你用的时候在调用下这个方法就可以了。。
      

  2.   

    用JS控制次数啥。可以用个变量(count)来控制,就想计数器那样写的哈,而且你的JS方的位置也不对的哈,应该放在<hend></head>之间哈。其他也可以用个boolean型的变量来控制哈。当刷新后就吧这个变量该变状态那样只有一次被刷新了啥
      

  3.   


    //parent.location.reload(); 
    parent.location=parent.location;