|

当我单击表单的提交按钮时,这将调用startValidateFormParameters()函数。

在此功能中,我使用BlockUI阻止UI并运行AJAX请求以验证表单中的某些信息。

如果表单数据在某种程度上是错误的,则AJAXurl返回403错误响应,从而触发AJAX请求的error()调用和403特定条件。

如果在403特定错误调用中使用alert(),则UI仍处于阻塞状态(根据需要)。

我想做的是使用BlockUI的模态对话框,而不是使用ѭ3对话框,它看起来要好得多。

但是,一旦调用了错误代码,错误模态对话框就会弹出并几乎立即消失,因为AJAX调用停止并且UI被解除阻止。

如何保持UI处于阻塞状态,以便保持显示错误模式?

以下是相关代码:

$(document).ready(function() {

...

$(\'#modalErrorOK\').click(function() {

$.unblockUI();

return false;

});

});

function startValidateFormParameters() {

$.blockUI({

message: \'

indicator.gif%5C%22\\

Validating form parameters...\'

});

validateFormParameters();

}

function validateFormParameters() {

$.ajax({

url: \"/validateFormParameters.pl\",

type: \"POST\",

data: ({\"formSummary\" : JSON.stringify($.foobar.formSummary)}),

dataType: \"JSON\",

cache: false,

success: function (response){

alert(JSON.stringify(response));

},

error: function (request, status, error) {

if (request.status == 401) {

window.location.replace(document.location.href);

}

else if (request.status == 403) {

$(\'#modalErrorMsg\').replaceWith(\'

\' + request.responseText + \'
\');

$.blockUI({

message: $(\'#modalError\')

});

}

else

alert(request.status + \"\\n\" + request.responseText);

}

});

}

$(document).ajaxStop($.unblockUI);

我有一个DOM对象来保存错误对话框:

Error

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐