2014-12-02 2 views
2

Im новичок в Jquery пожалуйста, помогите ......можно использовать Jquery blockui (плагин) код withouut Ajax

У меня есть одна страница, которая имеет несколько ссылок. Когда пользователь нажимает на одну ссылку, прежде чем завершает обратную обработку процесса и загружает страницу, он нажимает на другие ссылки без ожидания, которые вызывают проблему. Я ищу решение, чтобы избежать одновременного нажатия нескольких кликов.

Чтобы решить, я нашел плагин Jquery BlockUI и загружал (производство версия) jquery.blockUi.min.js по ссылке https://github.com/malsup/blockui/and добавлен ниже фрагмент кода

$('#linkX').click(function() { 
$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' }); 
}); 

Теперь, когда я нажимаю на любой ссылка (все ссылки имеют одно и то же имя класса), сразу же этот код блокирует страницу и отображает всплывающее окно с сообщением «всего лишь мгновение», а затем, как только процесс/запрос java (по умолчанию submit, который является формой action = '/ xxx), заканчивается (он обрабатывает некоторые действия и обновляет базу данных тоже) обновление страницы, а затем автоматически разблокирует страницу. Это прекрасно работает. Но мне интересно, правильно ли я использую эту функцию blockUI? Может ли он использоваться без Ajax и только с регулярным запросом java-сервера (form action)?

это jquery.blockUi.min.js безопасно для загрузки и использования, поскольку я работаю в федеральной компании?

Здесь у меня все хорошо работает с Java + Struts1.x. Я просто использую эту функцию blockui только для того, чтобы не нажимать на несколько ссылок одновременно - отключив страницу с помощью некоторого всплывающего сообщения несколько секунд, пока страница не обновится новыми данными.

Поскольку я не использую Ajax здесь, есть ли другое простое решение, которое я могу использовать или это хорошее решение?

ответ

0

Я не претендую на роль эксперта, но я использую его на моем веб-сайте Python Django, чтобы загрузить страницу с интенсивной обработкой (очевидно, ее нужно использовать таким образом, поскольку HTML не будет загружаться до того, как контроллер завершит задачу обработки).

Только не забудьте включить:

$(window).on('unload', function() 
{ 
    $.unblockUI(); 
}); 

для того, чтобы разблокировать пользовательский интерфейс при изменении страницы (или иначе, когда вы нажмете кнопку «Назад», вы можете по-прежнему видеть заблокированную страницу).

Другой способ старой школы - «отключить» все ссылки/кнопку на странице, когда пользователь нажимает на нее, чтобы пользователь не мог взаимодействовать с ней во время загрузки.

Смежные вопросы