我有以下代码.net mvc aspx页面...
//////////////////////
$ .blockUI({message:'
var registerOk = registerNewUser(); var createUserSubscriptionOK = createUserSubscription();
$ .unblockUI();
\\\\\\\\\\\\
直到第二个函数完成时才会显示块消息.两个函数都收集表单数据,然后对数据库进行异步调用.
我需要立即显示消息,同时触发两个函数,然后一旦完成,ui就会被解锁...
我该怎么做呢?
感谢您的任何反馈.
嗨,我没有这个答案,但我只是想报告我在firefox 3.5.9中看到同样的问题.
我正在尝试使用blockUI来显示带有动画gif的等待消息,同时服务器处理通过表单发送的信息.
在$("#form")中.report(function(){首先我调用blockUI:$ .blockUI({message:-image here-处理你的请求,请稍候......'});
然后我准备要发送到服务器的数据并使用ajax同步调用发布它们:$ .ajax({type:"POST",url:'/ submitForm /'+ typeName,data:postdata +"&"+ sData, cache:false,async:false});
最后我解锁$ .unblockUI();
我注意到它适用于Konqueror(在KDE4中),它显示了等待窗口,动画gif使背景变暗,最后消失.
所以问题可能与firefox有关,或者可能与某些不会影响特定浏览器的错误配置有关.
我希望这些信息对某些专家有用,可以确定实际问题是什么.
我还要感谢任何反馈.
编辑:
你好,
我不知道这是否仍然相关,但最终我设法让它发挥作用.问题是我正在使用ajax进行同步调用(submitForm调用中的"async:false"位).BlockUI被认为使异步调用工作就好像它是同步的,即阻塞接口.如果调用已经是同步的,则不需要阻止ui,因为这是同步调用的正常行为!
所以对我来说,只需删除"async:false"部分就可以了.
我希望这有帮助.
尝试通过将fadeIn设置为0来消除blockUI的异步行为:
$.blockUI({ message: $('#domMessage'), fadeIn: 0 });
Run Code Online (Sandbox Code Playgroud)