2015-09-24 3 views
0

Я хочу обновить два компонента после действия ajax, но не знаю, как это сделать (если это возможно). У меня есть три страницы:Обновление нескольких компонентов ajax

  <h:form id="loginForm"> 
       <p:panelGrid columns="2" > 
        <h:outputText value="Login: "/> 
        <p:inputText value="#{bean.person.username}" requiredMessage="*" /> 
        <h:outputText value="Hasło: "/> 
        <p:password value="#{bean.person.password}" requiredMessage="*"/>       
        <p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage"/> 
       </p:panelGrid> 
      </h:form> 

страница меню похожа на это выше пунктов меню с оказанной atribute (. Fe кнопка показать выход из системы, когда пользователь вошел в систему) и loginConfirmationPage, на котором я хочу, чтобы показать имя пользователя.

Мне нужно обновить обе эти страницы pm: страницы, чтобы получить кнопку выхода на страницу меню, а также отобразить имя пользователя на странице подтверждения. Как я могу это сделать? Пока я могу обновить только одну страницу. Я пытался ввести показания, аналогичные этим:

<p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage,menuPage"/> 

или

<p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage;menuPage"/> 

Оба не работают. Как я могу это сделать?

+0

Нажмите F12 в браузере Firefox/Chrome, выберите HTML/вкладка Элементы, нажмите/увеличительным значок стрелки стекла и выберите/поиск атрибута ид, соответствующих элементам, которые вы хотите обновить , Один из них может содержать двоеточие charecter, потому что он помещен в контейнер имен, отличный от кнопки. Затем добавьте двоеточие в начале идентификатора и поместите его в атрибут обновления кнопки (например: ': nameContainer: menuPage'). Примечание. Используйте пустое место вместо запятой или точкой с запятой для разделения обновленных областей. – lametaweb

ответ

-3

var name = ""; 
 
$.post("Path/To/Server/File", {'serverFileVariableName' : clientElementID}, 
 
     //data is what the server file will return 
 
     function(data){ 
 
     //In this case, the data is the username. 
 
     name = data; 
 
     //invoke the show method to display 
 
     logOut.show(); 
 
} 
 
); 
 
//done

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