实例讲解php提交表单关闭layer弹窗iframe
介绍一款非常好用的前端弹窗插件:
layer 官网地址:http://layer.layui.com/
根据官方的API:layer的iframe弹窗
- //iframe层-父子操作
- layer.open({
- type: 2,
- area: ['700px', '530px'],
- fix: false, //不固定
- maxmin: true,
- content: 'test/iframe.html'
- });
这里以php开发为例 演示如何 提交表单后自动关闭layer弹窗
(1)弹出layer编辑框 :
- function edit(id){
- if(|'||undefined'){
- alert('操作编号为空,请联系管理员');
- }
- layer.open({
- type: 2,
- area: ['700px', '530px'],
- fix: false, //不固定
- maxmin: true,
- content: 'index.php?m=content&c=meiti&a=edit_paiqi&id='+id
- });
- }
(2)编辑页面主要代码
<input name="dosubmit" type="submit" value="提交" class="button" >
(3)php后台保存数据并指向一个关闭layer窗口的方法
- public function edit_config_paiqi(){
- $id = trim($_REQUEST['id']);
- $paiqi_db = pc_base::load_model('paiqi_config_model');
- if($_REQUEST['dosubmit']){
- $insertinfo = array();
- $insertinfo['catid'] = trim($_POST['catid']);
- $insertinfo['meitiid'] = trim($_POST['meitiid']);
- $insertinfo['title'] = trim($_POST['title']);
- $insertinfo['meitizhuname'] = trim($_POST['meitizhuname']);
- $insertinfo['meitizhuid'] = trim($_POST['meitizhuid']);
- $insertinfo['createtime'] = SYS_TIME;
- $insertinfo['saturation'] = trim($_POST['saturation']);
- $datas = $paiqi_db->update($insertinfo,array("id"=>$id));
- if($datas){
- <span >showmessage(L('operation_success'),'?m=content&c=meiti&a=closewindow');//保存成功指向关闭窗口方法</span>
- }
- }else{
- $datas = $paiqi_db->select(array("id"=>$id));
- $template = "edit_config_paiqi";
- include $this->admin_tpl($template);
- }
- }
- /**
- * 关闭layer层
- */
- public function closewindow(){
- $template = "close_layer";
- include $this->admin_tpl($template);
- }
(4)关闭窗口并刷新父窗口页面的关键代码
- $(function(){
- parent.location.reload();//刷新父窗口
- parent.layer.closeAll();//关闭所有layer窗口
- });
注意:该页面需要加载layer需要的js库才能使用layer方法