解决easyui中重复调用$.messager.progress('close')报错问题

EasyUI登录页封装与实战:表单校验、参数调优及五大踩坑全解析 在企业后台系统中,登录界面是前后端联调的首个节点,也是用户体验门面。传统后端项目常通过jQuery插件快速构建表单交互,而EasyUI正是这类场景下的成熟组件库,它无需现代前端工程化,凭借简单的HTML标签即可构建完整登录页。其核心机制基于form表单校验、validatebox输入验证、messager弹出提示等组件协作,通过data-options配置即可完成参数绑定。从技术价值看,掌握表单校验的validType规则、按钮状态防重复提交、后端JSON响应解析,能显著提升开发效率。在应用场景上,Easy 阅读详情

问题描述:把$.messager.progress('close')放在全局ajax函数的complete方法里就可以免去每次调用$.messager.progress(options)后都需要调用一次$.messager.progress('close')。

比如 一般我们都是这样的:

$.messager.progress(progressMsg); //遮罩并提升信息
$.ajax( {
type : "POST",
url : "/**/*.html",
data : {"params":JSON.stringify(params)},
dataType : 'json',
success : function(data) {
$.messager.progress('close');//这里
if (data.success) {

} else {

}
},
error:function(){
$.messager.progress('close');//这里
}
});


这只是一个ajax,如果同一个页面有多个ajax就要写很多重复的$.messager.progress('close'),因此想到把close放到全局函数里:

$.ajaxSetup({
complete:function(XMLHttpRequest,textStatus){
$.messager.progress('close');
}
})


但问题来了,如果某个ajax并没有调用$.messager.progress()或者他自己已经调用过$.messager.progress('close')进行关闭了,此时complete方法里的

$.messager.progress('close')就会报错。


之前的想法是 在complete方法里先判断$.messager.progress是否是'open'状态,如果是 再调用$.messager.progress('close')

进行关闭,但我在文档中没找到这么判断$.messager.progress是open还是close状态,于是想着在源码中修改,

3129行(由于我已经修过了,源码是3128行)点进去,调用options前先判断对象是否已存在,如下:


上面注释的是我添加上去的,将其打开就可以解决问题了。

现在不管$.messager.progress有没有调用过、$.messager.progress是否是打开的,调用$.messager.progress('close')都不会报错了





EasyUI messager.progress 进度条的使用 注意:这是MAVEN项目,直接导入Eclipse 到Tomcat服务器访问sendSMS.jsp即可 介绍: 项目是http://blog.csdn.net/wanghaofeng/article/details/18305599 文章代码的实现,实现了easyui 进度条的功能,感觉很好玩,可以参考一下 立即下载

相关推荐

什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?

这个问题主要讲Xcode编译器的认知,在学习iOS之前有必要学习一下Objective-C的编译环境。 在了解LLVM和Clang之前,先得了解一下什么是编译器。 编译器是一种计算机程序,它将某种编程语言(高级编程语言)写成的源代码转换成另一种编程语言(低级编程语言)。一个现代编译器的主要工作流程为:源代码->预处理器->编译器->目标代码->链接器->可执行程序...

Welcome~ 9724

【EasyUI篇】Messager消息窗口组件

微信公众号:程序yuan 关注可了解更多的教程。问题或建议,请公众号留言; 查看--> 全套EasyUI示例目录 13.Messager消息窗口组件 目录 13.Messager消息窗口组件 1.警告框 2.确认框 3.提示输入框 4.进度条框 5.消息框 JSP文件 JS文件 效果图 加载方式:        消息窗口提供了不同的消息框风格,包含 alert(...

ouYang的博客 3596

HDLbits找茬实战:5个Verilog仿真Bug修复案例,新手避坑指南

本文通过HDLbits平台上的5个典型Verilog仿真Bug案例,详细解析了多路选择器位宽不匹配、模块实例化端口映射错误等常见问题,提供实用的修复方案和调试技巧,帮助Verilog新手快速掌握代码验证与仿真技能,避免常见陷阱。

weixin_42653691的博客 162

EasyUI的progress对象close方法报错的彻底解决方案

今天发现EasyUI的一个BUG,进度条的关闭会影响其它窗体的操作。代码如下: function saveCoupon() { $.messager.progress(); $("#fm").form("submit", { url: "Coupon/PutOnCoupon", onSubmit:function(){ va

mole的专栏 4936

XianYuAutoDeliveryX:基于闲鱼API与大模型的智能自动发货系统实践

本文详细介绍了如何利用XianYuAutoDeliveryX系统,结合闲鱼API与大语言模型,构建一个智能自动发货解决方案。该系统能实现买家付款后秒级自动发货,并通过对接ChatGPT等大模型智能回复买家咨询,有效解放卖家时间,提升虚拟商品店铺的运营效率和客户体验。

bush的博客 1021

Auto.js实战:从解锁手机到自动阅读的全流程避坑指南(MIUI系统适配版)

本文详细介绍了Auto.js在MIUI系统下的自动化操作全流程优化指南,包括设备唤醒、应用启动、界面交互等关键环节的实战技巧。特别针对MIUI系统的变速检测机制和电源管理策略,提供了有效的避坑方案和性能优化建议,帮助开发者实现从解锁手机到自动阅读的稳定运行。

醉三国 247

messager.progress

$.messager.progress({ title: '提示', msg: '请稍候……', text: '', interval: 300 }); $.ajax({ type : 'post', url : '${ctx}/certificate/print', ...

CC919026304的博客 2012

PyTorch复现EEG-TCNet踩坑记:从BCI IV2a数据到TCN块缺失的完整解决方案

本文详细解析了使用PyTorch复现EEG-TCNet模型的全过程,重点解决了BCI IV2a数据集预处理和TCN模块缺失的技术难题。通过标准化数据流程、跨受试者验证策略以及三种因果卷积实现方案,为运动想象分类任务提供完整解决方案,帮助研究者高效实现模型复现与优化。

weixin_30699955的博客 319

$.messager.progress ajax,ajax异步上传文件返回undefined

ajax跨域上传文件,封装了一个上传文件的方法sendFilePost,上传文件的时候使用async: false同步上传就不会弹出等待框,返回的结果没问题,但是使用了异步的方法async: ture,就返回了undefined,不知道改如何修改,大神帮忙改一下,如何异步不返回undefined接口返回数据//成功{"status":200,"info":"导入成功,共导入100条记录 "}//失...

weixin_29065791的博客 987

Astah 9.0升级步骤(Widnows/Mac OS)

Astah Professional是一款全新的轻量级UML建模工具。软件集思维导图和UML建模于一体,采用100%纯JAVA构建, 兼容性强,不仅能够实现分布式建模、项目合并,还能够实现和其它建模工具的交互。

tequiero777的博客 2827

中远麒麟堡垒机 SQL注入漏洞复现

中远麒麟堡垒机/baoleiji/api/tokens接口处存在sql注入漏洞,未经身份认证的攻击者可通过该漏洞获取数据库敏感信息及凭证,最终可能导致服务器失陷。

0xSec 2996

$.messager.progress不显示问题

由于对js内部执行不是特别了解, 出现问题的情况是:执行多个ajax请求,然后在用程序判断多个ajax请求是否都完成,完成则关闭$.messager.progress窗口。但实际情况是$.messager.progress不会显示。直接把程序执行完就结束了。 后台发现问题是js实际上是单线程执行(自己理解):意思就是只要有代码执行$.messager.progress就不会显示。只有js空闲时

言如止水 1万+

【YOLO系列】YOLOv4详解:模型结构、损失函数、训练方法及代码实现

摘要:YOLOv4在目标检测领域实现了精度与速度的平衡,通过CSPDarknet53骨干网络、SPP+PANet特征融合及CIoU损失函数等创新,在MS COCO数据集达到65.7% AP50,V100显卡实现62FPS实时检测。核心优化包括Mosaic数据增强、自对抗训练和解耦头结构,显著提升小目标检测和遮挡场景鲁棒性。代码实现采用CSP模块和SPP多尺度池化,兼顾计算效率与检测性能,为工业落地提供高效解决方案。(149字)

一碗白开水一 1358

easyui防止重复提交及进度条报错解决: Cannot read property 'onClose' of undefined

使用easyui框架 有个缺点就是响应有些慢,比如使用dialog 提交表单的时候可能要经过几秒才能提交上,如果用户连续点击提交按钮,可能造成重复提交。有个办法可以解决这个问题,就是使用进度条,也是easyui自带的。像如下这样: $.messager.progress(); var form = $("#addcompany"); form.aja

FFA(Frighting for Ambition!) 4451

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ajax完整的结构(小例子)

ajax写法的完整结构 $.ajax({ url : "abc.shtml",//连接的服务端 timeout:5000,//超时时间(毫秒) data : { "key" : value },//提交的数据 type : "post",//提交的方式 dataType : "json",//返回的数据类型 success : function(data) { },//返回数据、没有错误执行的代码 error : function() {

不积跬步,无以至千里 1082

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

easyui messager

名称参数描述$.messager.showoptions在屏幕的右下角显示一个消息窗口,options 参数是一个配置对象:showType: 定义消息窗口如何显示。可用的值是:null、slide、fade、show。默认是 slide。showSpeed: 定义消息窗口完成显示所需的以毫秒为单位的时间。默认是 600。width:定义消息窗口的宽度。默认是 250。height:定义消息窗口的...

kaleid_liner的博客 592

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

messager(消息窗口)

messager(消息窗口) 一、$.messager.alert()类似js中的alert('String')   方法参数:title, msg, icon, function(回调函数)   描述:title头部面板标题、msg主要消息内容、icon:消息图标,可用值有(error,question,info,warning)、function回调函数    案例1:     $.messager.alert({         title:'消息',         msg:'完成加载.

Golden的专栏 2145

【连载】研究EasyUI系统— Messager组件

messager组件作为提示框,应用的场合非常多,例如常见的操作确认等。messager的种类也很多,有“确认”、“提示”、“输入”等等。它依赖于window、linkbutton、progressbar三个组件。

来啊,相互伤害啊 918

$.messager.progress ajax,messager

回答messager.alert('提示',res.msg);}else if(res.code="408"){ messager.alert('提示',res.msg);}else if(res.code="409"){ messager.alert('提示',res.msg);} }else{ try{ var obj=JSON.parse(res);if(obj.code="403...a1...

weixin_35662670的博客 704

ElementUI 之 Message,自动弹出,信息不显示问题

Vue.use() 这种写法可能会页面刷新时自动弹出 message,可将下图红框里换成 Vue.component(Message) 转载于:https://www.cnblogs.com/zhangym118/p/11340668.html

weixin_30670925的博客 2140

Js实现短信发送进度条

文章中进度条用到了easyUI的$.messager.progress控件,这里主要讲述进度条实时显示进度的实现。 要实现功能如下: 点击发送短信按钮,然后在进度条中实时显示发送进度。另外还实现了重发发送失败的短信 实现原理如下: 首先向服务器发起一个请求,这个请求主要是用来进行短信的发送,在服务器端记录下已发送的短信条数,然后客户端每隔一段时间去请求这个记录已经发送短信条数的变量,这样就

王浩烽的专栏 5449

easyui进度条

/ 显示带自定义样式的加载提示。'正在上传大文件...''系统处理中...'// 显示模态遮罩层。// 模拟分步骤加载。// 更新进度和文本。

不积跬步,无以至千里 1168

easyUI简易进度条

function btn_ZL(orderid, sid) { $.messager.progress({ // 显示进度条 text: "生单中...", interval: 100 }); $.ajax({ url: '/T

lily233的博客 634

easyui 进度条 使用

1. 使用 $.messager.progress({ title : '提示', text : '数据处理中,请稍后....' }); 2.关闭 $.messager.progress('close'); 例如: function deleteFun(id) { if (id != undefined) { treeGrid.treegrid('select',

pad12270828的专栏 4086
上一篇: 替换textarea的文本编辑框的实现,可现实文字输入与显示图片、表情
下一篇: Java poi Excel xls列号数字转字母
lf124
博客等级 码龄14年 8粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值