应该寻找其他设计办法。既然test.php是否存在是由login.php决定的,那么你可以在login.php中判断,是否登录正确,然后再来决定是否弹出窗口。先思考合理性,然后寻找方法。

解决方案 »

  1.   

    <script>
    function open_window()
    {
      window.open('test.php','test','');
      window.location.href = 'login.php';
    }
    </script>
    <input type='button' value='登录' onclick='open_window();'>
    login.php:<?php
    if( '登录不成功')
    {
     echo "<script>test.close()</script>";
    }
      

  2.   

    谢谢jackhuclan 、zjstandup 。问题是这样:再index.php中弹出页面(test.php)的目的(点击index.php页面中的会员登陆)是弹出的窗口不会被屏蔽掉。而login.php是需要接收index.php传递过来的用户名和密码的数据($_post[usernmae]),,楼上 window.location.href   =   'login.php'; 这样的话可能得不到用户名和密码的数据,也就没有办法判断是否用户名和密码正确了
      

  3.   

    jackhuclan 说的对,不过你的要求也不是不可以实现,前提是 你的页面提交的时候不要进行页面跳转,要在js端保留新开页面的句柄,以便关闭, 提交的方法可以是用一个frame来提交 新开页面的句柄保存在 上级frame中,不对的时候再调用函数关闭,或者用ajax的方式进行 页面的提交
      

  4.   

    function   open_window() 

        window.open('test.php','test',''); 
        document.getElementById('logForm').submit();

      

  5.   

    zjstandup,测试了下,再login叶面总提示test没有定义
      

  6.   

    4楼说的对,不跳转页面或是用ajax验证
    是可以实现的