| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > ajax и waiting form |
| Автор: silokhin 3.2.2010, 22:43 |
| Добрый вечер. Я использую в проекте JSF 2.0 и встроенную поддержку ajax (тег <f:ajax>). Как сделать, чтоб в процессе обмена данными между серваком и клиентом выдавать модальную форму типа прогресс бара, например "Загрузка...", и потом она исчезала. |
| Автор: Samotnik 3.2.2010, 23:40 |
| silokhin, если нужна заставка как таковая. То лучше всего сделать следующее : Воспользоваться http://www.ajaxload.info/ - сгенерить себе анимацию. Затем все очень просто, как только отправляешь запрос на сервак, прорисовываешь этот прогресс бар с помощью css display:block как только приходит ответ - ты делаешь этому элементу display:none (естественно лучше поместить его в какой-нибудь div) Лично я всегда так делаю, когда нужно создать видимость процесса. Этот способ изящный и не требует много временных затрат, для вычисления реальных процентов приема/передачи запроса. Хотя приходилось часто делать и такое |
| Автор: silokhin 4.2.2010, 00:23 | ||
Хотелось бы уточнить момент
т.к. с ajax еще мало знаком Благодарен за ответ! |
| Автор: Samotnik 4.2.2010, 00:37 | ||
тут ajax не нужен. Нужен простейший JavaScript что-то вроде:
Если этот способ подходит (т.е. не нужно считать реальные проценты) то могу в деталях объяснить как что делать. |
| Автор: silokhin 4.2.2010, 00:50 | ||
| Боюсь показаться глупым... Есть кнопка
Можете на основе этого кода сделать прогресс бар |
| Автор: dobrolub 4.2.2010, 05:01 |
| Советую посмотреть на richfaces jsf components. Версия под JSF 2.0 по моему ещё в Бета, но компоненты которые тебе нужны уже есть. Проект разрабатывается несколькими нашими ребятами в jBoss. Modal Panel (Dialog) http://livedemo.exadel.com/richfaces-demo/richfaces/modalPanel.jsf?c=modalPanel&tab=usage# Progress Bar http://livedemo.exadel.com/richfaces-demo/richfaces/progressBar.jsf?c=progressBar&tab=usage |
| Автор: silokhin 4.2.2010, 08:42 |
| Спасибо за ответ, но richfaces в своем проекте не использую. Хочу живой пример от Samotnik. |
| Автор: Samotnik 4.2.2010, 15:55 |
| silokhin, я почти ничего не понял из сего кода. Меня интересует. Вот когда ты нажимаешь на кнопку что происходит ? Посылается запрос на сервер ? Каким образом ? Вобще суть: Ты нажимаешь на кнопку - посылается запрос на сервер, это наверняка происходит в какой-то функции. Так вот в эту функцию тебе нужно добавить JS или вызвать функцию JS. покажи, что у тебя вызывается, когда на кнопку жмякаешь . |
| Автор: silokhin 4.2.2010, 16:22 | ||
Вот еще пример:
Я не знаю как узнать когда прийдет ответ с сервака. Как к этому примеру привязать hide - block какого-нибудь элемента. |
| Автор: silokhin 4.2.2010, 22:01 | ||||
| Нашел решение. Пишем JavaScript:
Затем в дескрипторе ajax добавляем нашу переменную statusUpdate:
И все работает! P.S. Всем спасибо за помощь. Использовал JSF 2.0. |