layui关闭最上层弹窗失败的其中一个原因

在使用layer弹窗并结合layui进行表单验证时,如果验证失败显示提示,由于提示层也会改变layer.index,导致原本的layer.close(layer.index)无法正确关闭弹窗。解决方法是记录弹窗打开时的index值,然后用此值关闭弹窗,例如varcurrentIndex=layer.index;layer.close(currentIndex)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了方便,我们一般使用layer.close(layer.index);关闭最后加载出来的弹窗。但是如果这个弹窗的内容是一个表单,并且进行了表单验证,当验证失败时,layui会给出一个提示框,提示验证失败,

类似于这样:

 这样的提示框也是会增加layer.index的值的。所以有了提示之后,layer.close(layer.index)就不能关闭我们的弹窗了,因为layer.index已经变了,不指向我们的弹窗。

我能想到解决方法就是加载弹窗后就记录下弹窗的index

如 var currentIndex = layer.index;

关闭弹窗时就使用layer.close(currentIndex);

 另外layui的异常提示层模式(lay-verType)不管是哪个方式,都会增加layer.index的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值