扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
如何实现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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者