扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
    如何实现CSDN论坛一样的弹出窗口,就好像结贴时,当点击‘无满意结贴’,就会弹出一个窗口要求输入密码,然后主页面就变灰色,直到确认密码输入正确以后,弹出窗口消失,主页面才可以操作。 
如果那位有类似的源代码,能不能告诉。 
    用模态对话框。window.showModalDialog(); 
下面是例子: 
1.要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如: 
------------------------------- 
parent.htm 
<script> 
var obj = new Object(); 
obj.name="js"; 
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px"); 
</script> 
modal.htm 
<script> 
var obj = window.dialogArguments 
alert("您传递的参数为:" + obj.name) 
</script> 
------------------------------- 
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如: 
------------------------------ 
parent.htm 
<script> 
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px"); 
alert(str); 
</script> 
modal.htm 
<script> 
window.returnValue="http://www.sina.com"; 
</script> 
你可以在登录事件成功后返回主页面一个值,主页面根据这个值来判断需要做的事情。
    加一个半透明层: 
<div id="doing"  style="display:none; Z-INDEX: 12000; LEFT: 0px; WIDTH: 100%; CURSOR: wait; POSITION: absolute;TOP: 0px; HEIGHT:92%;background-color:#f9fff6;FILTER: alpha( Style=3 FinishOpacity=30);"> 
</div> 
加一个登录层: 
<div id="divLogin" style="display:none;position:absolute; width:220px;height:80px;text-align:center;vertical-align:middle;left: 350px; top: 224px; z-index:13000;background-image:url(../Images/body_bg.gif);border-right: lightgrey thin dashed; border-top: lightgrey thin dashed; border-left: lightgrey thin dashed; border-bottom: lightgrey thin dashed;"> 
            <div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" > 
                <div> 
                    用户: 
                  <asp:TextBox ID="TxtUserName" runat="server" > </asp:TextBox> 
                  <%-- <asp:RequiredFieldValidator id="rfN" runat="server" ErrorMessage="用户不能为空!" ControlToValidate="TxtUserName" CssClass="Text"> </asp:RequiredFieldValidator>--%> 
                </div> 
                <div> 
                    密码: 
                  <asp:TextBox ID="TxtUserPwd" runat="server" TextMode="Password" > </asp:TextBox> 
                  <%-- <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="密码不能为空!" ControlToValidate="TxtUserPwd" CssClass="Text"> </asp:RequiredFieldValidator>--%> 
                </div> 
                <div>      
                    <asp:Button ID="BttLogin" runat="server" Text=" 登 陆 " OnClick="BttLogin_Click" />  
                    <input id="BttCancel" type="button" value=" 取 消 " onclick="ShowNo()" /> 
                </div> 
            </div> 
        </div> 
再用js控制显示: 
        <script language="javascript"> 
        function Show() 
        { 
            document.getElementById("doing").style.display=""; 
            document.getElementById("divLogin").style.display=""; 
        } 
        function ShowNo() 
        { 
            document.getElementById("doing").style.display="none"; 
            document.getElementById("divLogin").style.display="none"; 
        } 
        function HideLoginDiv() 
        { 
            var Login = document.getElementById("Javascript.Div5"); 
            Login.style.visibility = "hidden"; 
        } 
    </script>
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。