遮盖层不出现问题:
一:可能是按钮的类型是submit,改为button就行。
二:可能是执行完Ajax后得再加一个return false;
三:Ajax设为同步
Ajax设为同步上面的弹出层代码不显示:
原因:
js执行弹出提示层到页面显示"开始处理..."是2个动作,一个是js执行,一个是浏览器渲染,中间有个时间差,js执行完提示层后,页面上还没来得及显示"开始处理..."时,js就执行到了ajax部分,而ajax同步会导致锁定浏览器,表现为页面内容不会更改;当ajax执行回调函数时,对xxx内容进行二次赋新值,所以在"开始处理..."还未显示时,由于此时xxx已经更新为新值,页面之后直接显示为新值;
解决:
设置1个定时器,在弹出提示层后延迟100ms再执行ajax;即:
wait = layer.msg('开始处理...',{icon:16,time:false,shade:0.3})
setTimeout(function(){
$.ajax(...async:false,...);//ajax同步
},100);