layui防止表单多次提交

如何禁用layer.confirm的提交按钮 防止多次点击触发ajax请求生成一条记录信息

在项目提测后,测试都会提出一个bug,那就是提交按钮多次点击,会同时生成很多相同数据。我是这样做的:首先浏览layui的 弹层组件文档,然后找到红框,输入以下JS

layui防止表单多次提交

layer.confirm('确定?', {
  btn: ['按钮一']
}, function(index, layero){
  //按钮【按钮一】的回调
layui.$('#layui-layer'+index).find('.layui-layer-btn0').prop('disabled',true).css("pointer-events","none").addClass('layui-disabled');
// 或者直接关闭confirm提示层
//layer.close(index)
});

执行后弹出以下界面:

layui防止表单多次提交

layui.$('#layui-layer'+index).find('.layui-layer-btn0').prop('disabled',true).css("pointer-events","none").addClass('layui-disabled');该JS会把该按钮属性变成禁止点击。

layer.close(index) 该JS是你点击按钮执行后直接关闭confirm层,从而不会让你有机会点第二下

在这里我用的第二个JS直接关闭。不会让测试有机会点到第二下

layui防止表单多次提交