### 首先,助手函数(第二个参数url默认值为空)
~~~
// 自定义success助手函数
function success($msg = "成功",$url = ''){
$data['status'] = 200;
$data['msg'] = $msg;
$data['url'] = $url;
return json($data);
}
// 自定义error助手函数
function error($msg = "失败",$url = ''){
$data['status'] = 202;
$data['msg'] = $msg;
$data['url'] = $url;
return json($data);
}
~~~
### 其次,修改js文件(判断:url为空,不跳转,关闭当前弹框;否则,跳转到指定的url)
**关闭当前弹框,layer.close(index-弹框标识)**
~~~
$(document).ready(function(){
// 复选框iCheck插件
$('input[type="checkbox"]').on('ifChecked',function(){
$(this).val('1');
});
$('input[type="checkbox"]').on('ifUnchecked',function(){
$(this).val('0');
});
// 单选框iCheck插件
$('input[type="radio"]').on('ifChecked',function(){
$(this).val('1');
});
$('input[type="radio"]').on('ifUnchecked',function(){
$(this).val('0');
});
// 删除链接提示信息
$("a[name='delete']").click(function(){
// 获取跳转地址
var url = $(this).attr('href');
// 异步提交处理
$.ajax({
type:'POST',
dataType:'json',
url:url,
data:null,
success:function(obj){
if (obj.status == 200 || obj.status == 202) {
// layer弹框信息
layer.open({
title:['温馨提示','font-size:18px;font-weight:bold;color:green;'],
content: obj.msg,
btn: ['确认'],
shade: 0,
yes: function(index, layero){
location.href = obj.url; //跳转指定地址
},
cancel: function(){
location.href = obj.url; //跳转指定地址
},
});
}
},
error:function(obj){
layer.alert('网络故障');
},
});
return false;
});
});
~~~
### 第三,修改控制器
#### 去掉助手函数的第二个参数(url)
~~~
public function add($tab = 1){
if (request()->isPost()) {
// 顶级分类下只能添加终极分类
// 不符合条件,不能提交处理,更不能跳转(防止之前填写信息,被无情的清空)
// 如果是顶级分类,那么是否是终极分类复选框,可选也可不选。
// 选上,则是终极分类,直接发文章。不选,则下面还有子目录。
// 如果不是顶级分类,那么必须勾选上(是否终极分类)复选框,否则是不允许提交。
if (input('post.parentid') && !input('post.isend')) {
return error('请勾选终极分类');
}
// 分类名称和分类目录不能为空
if (!input('post.catdir')) {
if (!input('post.catname')) {
return error('分类名称不能为空');
}
return error('分类目录不能为空');
}
// 选择分类所属模型
if (!input('post.modelid')) {
return error('请选择所属模型');
}
// 检查分类名称和分类目录是否重名
$count = Db::name('category')->where('catname',input('post.catname'))
->whereOr('catdir',input('post.catdir'))->count();
if ($count) {
return error('分类名称和分类目录是否重名');
}
$category = new CategoryModel;
if ($category->allowField(true)->data(input('post.'))->save()) {
return success('新增分类成功',url('index',['tab'=>1]));
}else{
return error('新增分类失败',url('index',['tab'=>$tab]));
}
}
}
~~~
- Layer无刷新不跳转弹框提示信息
- 整合ThinkPHP+实用代码
- TP整合Layer插件实现无刷新
- 自定义助手函数
- 添加信息失败后不跳转
- 三种无限级分类
- TP常用代码
- 自定义公共函数
- TP模型管理专题
- TP模型管理之添加模型
- sfox_newmodel.sql
- TP模型管理之删除模型
- TP模型管理之编辑模型
- TP模型管理之字段添加
- sfox_newmodel.sql_edit
- layer_hplus.js_edit
- TP模型管理之字段删除
- TP模型管理之字段编辑
- TP模型管理之预览模型
- TP模型管理之公共函数
- layer_hplus.js_修订一
- TP模型管理之预览模型静态页
- 后台内容管理系统
- 分类树显示
- 内容列表显示
- 信息发布
- 编辑信息
- layer_hplus.js
- myJs第一版
- myJs第二版
- myJs第三版
- myJs第四版
- TP5插件用法
- Datatables
- WebUploader
- bootstrap-fileinput
- UEditor
- 简单调用
- 路径问题
- 跨域多图上传
- 跨域单图上传
- UEditor图片跨域上传解决方案
- 定制工具栏图标
- ajaxFileUpload
- LayUI
- 图片上传
- layui分页
- 搜索页
- 搜索优化及删除
- Uploadify
- TP5前端应用
- 静态首页
- 前台首页功能实现
- 自定义标签库
- 前台模板继承应用
- 首页自定义标签改进
- 文章内容页
- 自定义标签改进
- 自定义标签修正
- 图片等比例自动缩放
- 后台权限管理
- 角色管理
- 规则管理
- 权限设置
- 会员管理
- 权限管理
- 前台登录注册功能
- 注册登录
- 阿里大于手机注册
- 阿里大于升级阿里云短信服务
- 自动登录完成
- PHP异位或加密实现自动登陆
- 微信开发
- 分享接口
- 静态页面实现微信分享
- 动态页微信分享
- 页面静态化
- 1-全站静态化前期配置
- 2-链接地址静态化
- TP5常用片段代码
- 加载静态资源路径与常量
- thinkphp5预定义常量
- 删除某文件夹的内容
- 解压插件包
- 异步提交插件
- 其他功能
- 背景音乐
- 手机访问PC网站自动跳转到手机网站代码
- 手机微信音乐MP3播放器
- 后盾之网页背景音乐
- 播放器宽度自适应
- 前台首页数据调用
- 视频列表
- 搜索分页
- H5解决苹果(IOS)不能自动播放音乐
- 清空缓存
- 文件处理常识
- 删除路径下的所有文件夹和文件
- 一键清空缓存
- 评论留言
- 格式化时间
- 替换微博内容的URL地址@用户与表情
- PHP正则理解
- jQuery评论插件
- TP空操作
- TP路由
- 跨域访问
- 设置请其头允许跨域请求
- 模板前台判断手机访问跳转手机网址代码
- PHP遍历一个文件夹下所有文件和子文件夹
- PHP获取视频的第一帧与时长
- TP5数据库
- 链式操作原理
- update替换字段部分内容
- 后台开发
- 后台登录页居中显示
- TP5自带验证码
- JS & JQuery专题
- 二级城市联动菜单
- 模板引擎
- 混合模板编译
- 黄永成TP微博开发
- 消息推送
- memcache安装
- 插件开发
- 插件介绍
- 插件钩子
- 浅谈初步理解钩子
- 插件钩子(hooks)分析
- 插件钩子简单理解
- 控制器调用插件
- 钩子通用处理函数
- 插件基类代码
- 插件测试代码
- 浅谈钩子与插件
- 技术综合
- 常用代码
- PHP
- 56个PHP开发常用代码片段(上)
- 56个PHP 开发常用代码片段(中)
- 56个PHP 开发常用代码片段(下)
- sublime text安装自动补全注释的插件
- 影音视频开发
- 视频
- H5视频直播扫盲
- 音乐
- 语音
- PHP实现语音播报功能
- MUI
- 窗体操作