У меня есть страница, на которой пользователь может обновить форму, щелкнув имя объекта. Подумайте о списке имен и форме со всеми другими полями (адрес, возраст, пол и т. д.), обновляемыми с помощью AJAX из onClick. Как создать модальное диалоговое окно («Пожалуйста, подождите»), которое предотвращает взаимодействие с пользователем до тех пор, пока вызов AJAX не вернет данные? Я не хочу, чтобы пользователь мог нажать кнопку «X» или «Закрыть». Он или она должны ждать!
Модальный диалог JavaScript без взаимодействия с пользователем, который нельзя закрыть
Ответы (3)
Взгляните на плагин BlockUI.
Он позволяет блокировать взаимодействие со страницей или определенным элементом, добавляя оверлей поверх страницы или этого элемента. Вы можете определить сообщение и поставляется с кучей опций для настройки внешнего вида.
Например, вы можете заблокировать страницу, когда запрос ajax выполняется с помощью:
$(document).ajaxStart(function() {
$.blockUI({
message: '<h1>Just a moment...</h1>'
});
}
$(document).ajaxStop(function() { $.unblockUI(); }
person
Didier Ghys
schedule
03.02.2012
Это отличный плагин, и он идеально подходит для того, что я хочу! Он может даже блокировать ввод отдельных элементов. Я блокирую перед вызовом AJAX и разблокирую при обратном вызове AJAX. Благодарю вас!
- person user1062571; 04.02.2012
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);
Это базовая маска. После этого вы можете добавить дополнительные элементы, например поле «подождите».
person
Niet the Dark Absol
schedule
03.02.2012
Вам нужно поместить DIV по всему содержимому страницы. Обычно это полупрозрачно, чтобы указать, что пользователь должен ждать. Иногда на оверлее есть "загрузочный" спиннер.
person
Diodeus - James MacFarlane
schedule
03.02.2012