如果你要弹出来的,就用window.showModalDialog,可以把原因内容传回给父窗口写入数据库,当然open也可以。
否则像1楼说的,用div控制,设置display或者visible属性,来控制是否可见。

解决方案 »

  1.   

    <a onclick="javascript:document.getElementByID('XX').style.display='inline'">
      

  2.   

    把DIscuz的floatwin拿下来改改就完事了
      

  3.   

    <html>
    <head>
    <style type="text/css">
    #divh { z-index:10001; top:30%; left:45%; width:420px; background-color:#ffffff; border:solid 1px #555; }
    .tit { background-color:#f0f0f0; border-bottom:solid 1px #555; padding:8px;}
    .bod { padding:20px;}
    .bot {background-color:#f0f0f0; border-top:solid 1px #555; text-align:right; padding:4px;}
    </style>
    </head>
    <body>
    <p>正文</p>
    <p>正文</p>
    <p><a href="javascript:closeit();">关闭</a></p>
    <p>正文</p>
    <p>正文</p>
    <p>正文</p>
    <div id="divh" style="position: absolute; display: none;">
    <div class="tit">请输入关闭原因</div>
    <div class="bod"><textarea cols="50" rows="5"></textarea></div>
    <div class="bot"><input type="button" value="确定" onclick="cancelShide()" /></div>
    </div>
    </body>
    <script type="text/javascript">
    function closeit()
    {
        shideBody();
    }
    var shield;
    function shideBody()
    {
        shield = document.createElement("DIV");
        shield.id = "shield";
        shield.style.position = "absolute";
        shield.style.left = "0px";
        shield.style.top = "0px";
        shield.style.width = "100%";
        shield.style.height = document.documentElement.scrollHeight+"px";
        shield.style.background = "#333333";
        shield.style.textAlign = "center";
        shield.style.zIndex = "10000";
        shield.style.filter = "alpha(opacity=0)";
        shield.style.opacity = 0;
        document.body.appendChild(shield);
        
        this.setOpacity = function(obj,opacity){
        if(opacity>=1)opacity=opacity/100;
        try{ obj.style.opacity=opacity; }catch(e){}
        try{
            if(obj.filters.length>0 && obj.filters("alpha")){
                obj.filters("alpha").opacity=opacity*150;
            }else{
                obj.style.filter="alpha(opacity=\""+(opacity*150)+"\")";
            }
        }catch(e){}
        }
        var c = 0;
        this.doAlpha = function(){
        if (++c > 20){clearInterval(ad);return 0;}
        setOpacity(shield,c);
        }
        var ad = setInterval("doAlpha()",1);    document.getElementById("divh").style.display = "";
        document.getElementById("divh").style.marginLeft = "-200px";
        document.getElementById("divh").style.marginTop = -75+document.documentElement.scrollTop + "px";}
    function cancelShide()
    {
        if(document.getElementById("divh"))
        {
            document.getElementById("divh").innerHTML = "";
            document.getElementById("divh").style.display = "none";
        }
        if(shield)
        {
            document.body.removeChild(shield);
        }
    }
    </script>
    </html>
      

  4.   

    弹出一个窗口,window.open我想够用了
    这个怎么提交就不用说了吧,也许你希望在提交后自动关闭这个窗口然后刷新父窗口,也能做到如果想用div模拟对话框,那就彻底点,用ajax提交,成功后下一步动作...
    怎么用div做对话框也不用说了吧
      

  5.   

    a.html<html>
    <head>
    <style type="text/css">
    #divh { z-index:10001; top:30%; left:45%; width:420px; background-color:#ffffff; border:solid 1px #555; }
    .tit { background-color:#f0f0f0; border-bottom:solid 1px #555; padding:8px;}
    .bod { padding:10px;}
    .bot {background-color:#f0f0f0; border-top:solid 1px #555; text-align:right; padding:4px;}
    </style>
    </head>
    <body>
    <p>正文 </p>
    <p>正文 </p>
    <p> <a href="javascript:closeit();">关闭 </a> </p>
    <p>正文 </p>
    <p>正文 </p>
    <p>正文 </p>
    <div id="divh" style="position: absolute; display: none;">
    <div class="tit">请输入关闭原因 </div>
    <div class="bod"><iframe src="b.html" frameborder=0 scrolling=no style="width:388px;height:70px;"></iframe></div>
    <div class="bot"> <input type="button" value="确定" onclick="dook()" /> <input type="button" value="取消" onclick="cancelShide()" /> </div>
    </div>
    </body>
    <script type="text/javascript">
    function closeit()
    {
        shideBody();
    }
    var shield;
    function shideBody()
    {
        shield = document.createElement("DIV");
        shield.id = "shield";
        shield.style.position = "absolute";
        shield.style.left = "0px";
        shield.style.top = "0px";
        shield.style.width = "100%";
        shield.style.height = document.documentElement.scrollHeight+"px";
        shield.style.background = "#333333";
        shield.style.textAlign = "center";
        shield.style.zIndex = "10000";
        shield.style.filter = "alpha(opacity=0)";
        shield.style.opacity = 0;
        document.body.appendChild(shield);
       
        this.setOpacity = function(obj,opacity){
        if(opacity>=1)opacity=opacity/100;
        try{ obj.style.opacity=opacity; }catch(e){}
        try{
            if(obj.filters.length>0 && obj.filters("alpha")){
                obj.filters("alpha").opacity=opacity*150;
            }else{
                obj.style.filter="alpha(opacity=\""+(opacity*150)+"\")";
            }
        }catch(e){}
        }
        var c = 0;
        this.doAlpha = function(){
        if (++c > 20){clearInterval(ad);return 0;}
        setOpacity(shield,c);
        }
        var ad = setInterval("doAlpha()",1);    document.getElementById("divh").style.display = "";
        document.getElementById("divh").style.marginLeft = "-200px";
        document.getElementById("divh").style.marginTop = -75+document.documentElement.scrollTop + "px";}
    function cancelShide()
    {
        if(document.getElementById("divh"))
        {
            document.getElementById("divh").innerHTML = "";
            document.getElementById("divh").style.display = "none";
        }
        if(shield)
        {
            document.body.removeChild(shield);
        }
    }
    function dook()
    {
    document.frames[0].document.forms[0].submit();
    document.getElementById("divh").getElementsByTagName("div")[1].innerHTML = "<div style='padding:20px'>提交成功!</div>";
    setTimeout("cancelShide()",2000);
    }
    </script>
    </html>b.html<html>
    <head>
    </head>
    <body>
    <form>
    <textarea name="message" cols=50 rows=3></textarea>
    </form>
    </body>
    </html>