在不破坏表单提交的前提下,给一个确认框.因为JS语言特性,确认对话框的点击事件是写在回调里面的,提交的过程中会忽略回调,继续运行.
所以这里做了一个伪同步:第一次执行到beforeSubmit 因为return false退出本次提交,回调中点击确认重新发起本次请求.
var canSubmit=false;
beforeSubmit : function(curform) {
if(!canSubmit){
var msg = "确认执行本操作?";
$.dialog.setting.zIndex = getzIndex(true);
var a = $.dialog.confirm(msg,function(){
$('#formobj')[0].action = url;
canSubmit = true;
$("#formobj").submit();
},function(){
layer.close();
return;
});
}
return canSubmit;
},
在外部定义一个控制变量canSubmit初始化为false;
第一次beforeSubmit 依据canSubmin==false中断,第二次因为canSubmin已经为true,就正常执行了