Bootstrap+jfinal退出系统弹出确认框的实现方法


Posted in Javascript onMay 30, 2016

本文为大家分享了jfinal与bootstrap的登出操作,旨在介绍如何通过a标签弹出登出确认框,然后发送退出请求到jfinal,然后再刷新页面的做法。主要难点在于有以下两点:

1.如果通过a标签的内容弹出登出确认框;

2.如何通过a标签刷新对应弹出的页面。

一、前端技术

1.构建a标签

<a href="${ctx}/mem/logout" target="ajaxTodo" callback="ajaxDone" atitle="你确定要退出吗?" id="user_login_out" style="padding: 0 6px;">退出</a>

注意:
1. target=”ajaxTodo”,指定a标签要通过ajax发起请求。
2. callback=”ajaxDone”,指定a标签回调函数
3. atitle=”你确定要退出吗?”,指定确认信息

2.初始化a标签ajax事件

function initUI(_box) {
 var $p = $(_box || document);

 // dwz.ajax.js
 if ($.fn.ajaxTodo) {
 $("a[target=ajaxTodo]", $p).ajaxTodo();
 }
}

注意:
1. 页面加载完成后执行initUI方法,使target为ajaxTodo的a标签具有指定的ajaxTodo方法。

3.a标签的ajax请求

function ajaxTodo(url, callback) {
 var $callback = callback;
 if (!$.isFunction($callback)) {
 $callback = eval('(' + callback + ')');
 }
 var forwardUrl = window.location.href;
 if (url.indexOf("?") != -1) {
 url += "&forwardUrl=" + forwardUrl;
 } else {
 url += "?forwardUrl=" + forwardUrl;
 }
 $.ajax({
 type : 'POST',
 url : url,
 dataType : "json",
 cache : false,
 success : $callback,
 error : YUNM.ajaxError
 });
}

注意:
1. forwardUrl 记录登出的页面

4.为jquery对象增加ajaxTodo方法

$.fn.extend({
 ajaxTodo : function() {
 return this.each(function() {
 var $this = $(this);
 $this.click(function(event) {
 var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
 YUNM.debug(url);
 if (!url.isFinishedTm()) {
  $.showErr($this.attr("warn"));
  return false;
 }
 var title = $this.attr("atitle");
 if (title) {
  $.showConfirm(title, function() {
  ajaxTodo(url, $this.attr("callback"));
  });
 } else {
  ajaxTodo(url, $this.attr("callback"));
 }
 event.preventDefault();
 });
 });
 },
});

5.回调函数

function ajaxDone(json) {
 YUNM.ajaxDone(json);
 if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) {
 // 如果指定了后调转页面,进行调转
 if (json.forwardUrl) {
 location.href = json.forwardUrl;
 }
 }
}

6.弹出weebox确认框

$.showConfirm = function(str, funcok, funcclose) {
 var okfunc = function() {
 $.weeboxs.close("yunm_confirm_box");
 funcok.call();
 };
 $.weeboxs.open(str, {
 boxid : 'yunm_confirm_box',
 contentType : 'text',
 showButton : true,
 showCancel : true,
 showOk : true,
 title : '确认',
 width : 280,
 type : 'wee',
 onopen : function() {
 init_ui_button();
 },
 onclose : funcclose,
 onok : okfunc
 });
};
function init_ui_button() {
 $("button.ui-button[init!='init']").each(function(i, o) {
 $(o).attr("init", "init"); // 为了防止重复初始化
 $(o).ui_button();
 });
}

二、jfinal技术

public void logout() {
 if (getSession().getAttribute("username") != null) {
 // 清除session
 getSession().removeAttribute("username");
 }
 ajaxDoneSuccess("登出成功!");
 renderJson();
}

增加logout方法。

效果:

Bootstrap+jfinal退出系统弹出确认框的实现方法

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望大家动手实现Bootstrap+jfinal退出系统弹出确认框,希望大家喜欢这篇文章,谢谢大家的阅读。

Javascript 相关文章推荐
Jquery对数组的操作技巧整理
Mar 25 Javascript
jQuery/CSS3图片特效插件整理推荐
Dec 07 Javascript
jquery制作图片时钟特效
Mar 30 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
详解50行代码,Node爬虫练手项目
Apr 22 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
JS实现密码框效果
Sep 10 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 #Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 #Javascript
BootStrap下jQuery自动完成的样式调整
May 30 #Javascript
JavaScript常用判断写法大全(推荐)
May 30 #Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
May 30 #Javascript
基于Angularjs实现分页功能
May 30 #Javascript
AngularJs实现分页功能不带省略号的代码
May 30 #Javascript
You might like
如何写php程序?
2006/12/08 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
javascript实现留言板功能
2020/02/08 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python双向链表实现实例代码
2013/11/21 Python
Python functools模块学习总结
2015/05/09 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
澳大利亚网上书店:QBD
2021/01/09 全球购物
判断单链表中是否存在环
2012/07/16 面试题
高中生学期学习自我评价
2014/02/24 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python