2013-07-30 2 views
1

У меня есть несколько кнопок управления в моем JSF ... Его поиск в базе данных, в котором есть одна кнопка «Поиск» и другая кнопка «Добавить».Несколько состояний AJAX в JSF (PrimeFaces) с несколькими формами

При нажатии кнопки «Поиск» мне нужен статус, который должен отображаться, поэтому я добавил код ajaxStatus ниже для моей выходной панели, которая находится в форме1, где отображаются мои результаты поиска.

<p:ajaxStatus onstart="statusDialog1.show();" onsuccess="statusDialog1.hide();"/> 

Диалоговое окно

<p:dialog modal="true" widgetVar="statusDialog1" header="Searching ... Please wait" 
        draggable="false" closable="false" resizable="False"> 
<p:graphicImage value="/resources/ajax-loader.gif" /> 
</p:dialog> 

Когда «Добавить» кнопка нажата, открывает еще одно диалоговое окно, которое имеет Form2, теперь проблема, когда я нажимаю на «Добавить» Кнопка statusDialog1 показано также, я хочу, чтобы этот статус отображался только при нажатии кнопки «Поиск».

Как использовать несколько сообщений agaxStatus на одной странице?

ответ

1

От dev guide

AjaxStatus является глобальным Уведомитель для запросов AJAX.

Другими словами, у вас будет один на странице, который обрабатывает всю обработку ajax на этой странице. Если вы используете PrimeFaces p:commandButton, вы можете использовать атрибут onstart и onsuccess вашей кнопки «Добавить и поиск». Пример:

<p:commandButton value="Add" onstart="statusDialog1.show();" onsuccess="statusDialog1.hide()"/> 
<p:commandButton value="Search" onstart="statusDialog2.show();" onsuccess="statusDialog2.hide()"/> 

Другая вещь, которую вы можете использовать, чтобы «показать» статус Аякса каждого компонента PrimeFaces <p:blockUI>. Вы можете обратиться к showcase for some examples

+0

Мне очень нравится решение . Спасибо за эту идею. – Richard

+0

@RichardK. Рад был помочь :) – Andy

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