没有用户交互的JavaScript模式对话框无法关闭

时间:2012-02-03 20:41:56

标签: javascript jquery ajax jquery-ui javascript-events

我有一个页面,用户可以通过单击实体名称来更新表单。考虑一个名称列表,以及包含所有其他字段(地址,年龄,性别等)的表单,使用来自onClick的AJAX进行更新。如何在AJAX调用返回数据之前创建模式对话框("请等待。")以防止用户交互?我不希望用户能够点击" X"或"关闭"按钮。他或她必须等待!

3 个答案:

答案 0 :(得分:1)

查看BlockUI插件。

它允许阻止与页面或特定元素的交互,方法是在页面顶部或该元素上添加叠加层。您可以定义一条消息,并附带一系列选项来自定义外观和感觉。

例如,当执行ajax请求时,您可以阻止页面:

$(document).ajaxStart(function() {
    $.blockUI({
        message: '<h1>Just a moment...</h1>'
    });
}

$(document).ajaxStop(function() { $.unblockUI(); }

答案 1 :(得分:0)

var d = document.createElement('div');
d.style.position = "fixed";
d.style.top = d.style.left = d.style.right = d.style.bottom = "0px";
document.body.appendChild(d);

那是基本面具。之后,您可以添加更多内容,例如“请稍候”框。

答案 2 :(得分:0)

您需要在页面的整个内容上放置DIV。通常,这是半透明的,表示用户必须等待。有时在叠加层上有一个“加载”微调器。