现在要实现这样一个功能,页面Default.aspx,页面中有好几个弹出口但我要控制每次只能打开一个弹出窗口,不准用模态窗口
<input type="button" id="button1" value="button1" onclick="window.open('test1.aspx','test1');" />
<input type="button" id="button2" value="button2" onclick="window.open('test2.aspx','test2');" />
<input type="button" id="button3" value="button3" onclick="window.open('test3.aspx','test3');" />
我现在是通过一个隐藏控件来实现的,打开时给隐藏控件赋值,关闭时清空,总觉得这样做不太好,比如打开窗口抛出异常时就清不空,有好的解决方法吗

解决方案 »

  1.   

    给楼主一个建议,每当一个按钮按下后,设置另几个按钮Enable=false;
      

  2.   

    var   win=window.open( ' ', ' ', ' '); 
    if((!win.closed())&&(win!=null)) 
     
      

  3.   

    这个跟我的方法差不多,关闭时又把enable=true吧,出现异常时有问题
      

  4.   

    我写了个JS
    首先:
     <script type="text/javascript">
        var i=0;
        function xinopen(url)
        {
           if(i==0)
         {
           window.open(url);
           i++;
          }
        }    </script>
    <input type="button" id="button1" value="button1" onclick="xinopen('test1.aspx');" />
    <input type="button" id="button2" value="button2" onclick="xinopen('test2.aspx');" />
    <input type="button" id="button3" value="button3" onclick="xinopen('test3.aspx');" />然后在新打开的页面
    加上:
    <script type="text/javascript">
        function kk()
        {
         window.opener.i=0;
        }
        </script>
    <body onunload="kk()">
    测试通过,好使
      

  5.   


    在子窗口里 JS应该这样,        window.onunload = function() {        window.opener.i--; //获得父窗口的全局变量再减去1
            }