将Jquery Dialog与$post一起使用时,显示Loader div



这是一个简单的任务,显示loader.gif,但不知何故,这个代码片段仅在firefox中有效,在其他浏览器中失败。

我想要实现的是,当用户单击"发送电子邮件"按钮时,他们应该看到一个加载程序的gif图像。加载器gif图像是一个div的一部分,该div的id是validate。

我在这方面投入了大约8个小时,并尝试测试了所有的替代方案,如$ajaxsetup、$ajaxsend、$ajaxstart等,但没有一个对我有效。

一个在流行浏览器上工作的简单例子是我需要的

这是我的代码

$j("#对话框窗体").dialog({autoOpen:false,高度:435,宽度:400,模态:true,按钮:{"发送电子邮件":function(){$j("#validate").show();setTimeout(ProcessRequest(),5000);}},取消:函数(){$j(this).对话框("关闭");}},关闭:函数(){allFields.val(").removeClass("ui状态错误");}函数ProcessRequest(){var jqxhr=$j.post("姿态.aspx",{name:name.val(),email:email.val(,函数(数据){结果=数据;}).success(function(){OnSuccess();}).error(function(){OnError();});jqxhr.success(function(){OnSuccess();});jqxhr.error(function(){OnError();});}<div id="validate"style="display:none"><img src='rns_loader.gif'/>您的订单正在处理中<div>

我使用loader.gif的方式技术含量极低,效果极佳。

我将loader.gif作为主div的背景,其位置为居中。

然后,加载的任何内容,我都会将背景设为白色。

这样,加载程序就会显示,直到内容被附加到对话框中。

适用于所有浏览器。

最新更新