代码改变世界

JavaScript实现弹出层(以layer.open为例)

2016-08-11 09:15  奔波儿灞  阅读(13848)  评论(0编辑  收藏  举报

首先,引用layer,自行下载。

添加如下两行

<script src=" ../layer/jquery.min.js"></script>

<script src=" ../layer/layer.js"></script>

layer.open({
                type: 2,
                skin: 'layui-layer-lan',
                title: '标题',
                fix: false,
                shadeClose: true,
                maxmin: true,
                area: ['800px', '400px'],
                content: 'Default.aspx',
                //end: function () {           //关闭弹出层触发
                //    location.reload();       //刷新父界面,可改为其他
                //}

            });

在弹出层中,如何点击提交或者保存时,自动关闭弹出层,刷新父界面?下面来为大家解答。

假设有两个界面,分别为Default.aspx和Default2.aspx。

在Default.aspx中设置一个Button控件,并隐藏,如下:

<asp:Button ID="Button1" runat="server" Text="刷新" OnClick="Button1_Click"  style="display:none" />

控件Button1的事件内容可以是用来保存临时数据,防止用户填写时,未保存,刷新界面导致数据丢失。

接下来是javascript调用该控件。

<script>
function
ShowData() { document.getElementById("Button1").click(); var index = parent.layer.getFrameIndex('Default2.aspx'); parent.layer.close(index); }
</script>

在弹出层的提交或者保存按钮事件中添加如下代码:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "JsFun", "<script type=\"text/javascript\">alert('提交成功!');parent.ShowData();</script>", false);

即可实现,用户点击提交或者保存时,弹出提示框,自动关闭弹出层,并刷新父界面。