5

我有以下代码一个.net mvc aspx 页面...

////////////////////

$.blockUI({ 消息:'

处理中...请稍候

' });

var registerOk = registerNewUser(); var createUserSubscriptionOK = createUserSubscription();

$.unblockUI();

\\\\\\\\\\\\

直到第二个函数完成时才会显示阻止消息。这两个函数都收集表单数据,然后对数据库进行异步调用。

我需要立即显示消息,让两个功能都触发,然后一旦两者都完成,ui就会被解锁......

我该怎么做呢?

感谢您的任何反馈。

4

2 回答 2

8

嗨,我对此没有答案,但我只想报告我在 Firefox 3.5.9 中看到了同样的问题。

我正在尝试使用 blockUI 在服务器处理通过表单发送的信息时显示带有动画 gif 的等待消息。

在 $("#form").submit(function() { 首先我调用 blockUI: $.blockUI({ message: -image here- Processing your request, please wait...' });

然后我准备要发送到服务器的数据并使用 ajax 同步调用发布它们: $.ajax({ type: "POST", url: '/submitForm/'+typeName, data: postdata+"&"+sData,缓存:假,异步:假});

最后我解锁 $.unblockUI();

我注意到它适用于 Konqueror(在 KDE4 中),它显示等待窗口,动画 gif 使背景变暗,最后消失。

所以问题可能与Firefox有关,或者可能与某些不影响该特定浏览器的错误配置有关。

我希望这些信息对一些专家找出实际问题是有用的。

我也将感谢任何反馈。

编辑:

你好,

我不知道这是否仍然相关,但最后我设法使它工作。问题是我正在使用 ajax 进行同步调用(submitForm 调用中的“async: false”位)。BlockUI 被认为使异步调用像同步一样工作,即阻塞接口。如果调用已经同步,则无需阻塞 ui,因为这是同步调用的正常行为!

所以对我来说,只需删除“async:false”部分就可以了。

我希望这有帮助。

于 2010-06-01T09:17:50.143 回答
7

尝试通过将 fadeIn 设置为 0 来消除 blockUI 的异步行为:

$.blockUI({ message: $('#domMessage'), fadeIn: 0 });
于 2013-05-08T11:59:38.673 回答