Сообщение блокирования JQuery BlockUI сразу не показывает

У меня есть следующий код .NET mvc aspx страница...

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

$ .blockUI ({сообщение:'

Обработка... Подождите, пожалуйста

' });

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

$ .unblockUI ();

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

Групповое сообщение не показывает до просто примерно в то время, когда 2-я функция заканчивается. Обе функции заключают, что данные формы затем выполняют асинхронные вызовы к дб.

Мне нужно сообщение, чтобы сразу показать, иметь оба огня функций, затем после того как оба завершаются, ui разблокируется...

Как я делаю это?

Спасибо за любую обратную связь.

5
задан Rob 20 May 2010 в 15:11
поделиться

1 ответ

Привет, у меня нет ответа на этот вопрос, но я просто хотел сообщить, что вижу ту же проблему в firefox 3.5.9.

Я пытаюсь использовать blockUI для отображения сообщения ожидания с анимированным gif, пока сервер обрабатывает информацию, отправленную через форму.

Внутри $ ("# form"). submit (function () { сначала я вызываю blockUI: $.blockUI ({message: -image here- Обработка вашего запроса, пожалуйста, подождите ... '});

Затем я подготавливаю данные для отправки на сервер и отправляю их с помощью синхронного вызова ajax: $ .ajax ({ тип: "POST", url: '/ submitForm /' + typeName, данные: postdata + "&" + sData, кеш: ложь, асинхронный: ложь });

и в итоге разблокирую $ .unblockUI ();

Я заметил, что он работает с Konqueror (в KDE4), он показывает окно ожидания с анимированным gif, затемняющим фон, и исчезает в конце.

Таким образом, проблема может быть связана с firefox или, возможно, с какой-то неправильной конфигурацией, которая не влияет на этот конкретный браузер.

Я надеюсь, что эта информация будет полезна некоторым экспертам в выяснении истинной проблемы.

Я также буду благодарен за любые отзывы.

РЕДАКТИРОВАТЬ:

Привет,

Я не знаю, актуально ли это до сих пор, но в конце концов мне удалось заставить это работать. Проблема заключалась в том, что я выполнял синхронный вызов с помощью ajax (бит «async: false» в вызове submitForm). Считается, что BlockUI заставляет асинхронный вызов работать так, как если бы он был синхронным, то есть блокируя интерфейс. Если вызов уже является синхронным, нет необходимости блокировать пользовательский интерфейс, потому что это нормальное поведение синхронных вызовов!

Так что для меня просто удаление части "async: false" заставило его работать.

Надеюсь, это поможет.

8
ответ дан 18 December 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: