JQuery BlockUI 阻止消息不会立即显示

标签 jquery blockui

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

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

$.blockUI({ message: '

正在处理...请稍候

' });

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

$.unblockUI();

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

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

我需要立即显示消息,同时触发两个函数,然后一旦两个函数都完成,用户界面就会解锁......

我该怎么做?

感谢您的任何反馈。

最佳答案

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

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

里面 $("#form").submit(function() { 首先我调用 blockUI: $.blockUI({ message: -图片在这里- 正在处理您的请求,请稍候...' });

然后我准备要发送到服务器的数据并通过 ajax 同步调用将它们发布: $.ajax({ 类型:“帖子”, url: '/submitForm/'+类型名称, 数据:postdata+"&"+sData, 缓存:假, 异步:假 });

最后我解锁了 $.unblockUI();

我注意到它可以与 Konqueror(在 KDE4 中)配合使用,它显示等待窗口,其中带有使背景变暗的动画 gif,并在最后消失。

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

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

我也将感谢您的任何反馈。

编辑:

你好,

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

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

我希望这会有所帮助。

关于JQuery BlockUI 阻止消息不会立即显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875074/

相关文章:

javascript - 如何在 $.ajax() error() 上显示 BlockUI 模态对话框?

javascript - IE7 中的 blockUI 插件内存泄漏 25kb

jQuery 和 BlockUI 对象不支持此属性或方法

jquery - 如何在加载数据时创建页面叠加 - asp.net/jquery/blockui

jquery - knockout : Not working in IE7

Jquery Datepicker 显示当前日期

javascript - Jquery post...没有发布任何内容

javascript - 根据所选选项更改同一选择中的选项

javascript - 在散点图中设置多种背景颜色

jquery - 用jquery拦截ajax请求显示BlockUI