实例讲解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(id==null||id==''||id=='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" id="dosubmit" 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 style="color:#ff0000;">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方法

相关学习推荐:php编程(视频)

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 实例讲解php提交表单关闭layer弹窗iframe