1、问题概述?
在使用Layui的form.on实现表单提交的时候,出现了页面刷新成功,但是layer.msg弹框无效无效。但是数据添加成功了。
后来发现是form.on中的异步请求执行成功了,同时提交按钮所在的form也执行了一次,虽然这个form上面没有写action,但依旧触发了请求当前页面,因为action默认的触发地址就是action="#"。
期望:希望只触发form.on中的事件,其他的不要触发。
【代码如下】
如下代码的问题:程序执行成功,数据添加成功,但是异步的回调函数不执行。
form.on('submit(addProjectInfoSubmit)', function(data){
$.post("/projectinfo/addProjectPath",data.field,function(res){
if(res==true){
//关闭addCaseContainerDialog弹窗
layer.close(addProjectPathDialog);
//刷新表格
table.reload('initprojectpath');
layer.msg("添加成功");
}else{
layer.msg("添加失败");
}
});
});
2、解决办法
解决办法非常的简单
在代码的最后加上return false;阻止表单跳转
form.on('submit(addProjectInfoSubmit)', function(data){
$.post("/projectinfo/addProjectPath",data.field,function(res){
if(res==true){
//关闭addCaseContainerDialog弹窗
layer.close(addProjectPathDialog);
//刷新表格
table.reload('initprojectpath');
layer.msg("添加成功");
}else{
layer.msg("添加失败");
}
});
return false;
});