【问题标题】:Update multiple components ajax [duplicate]更新多个组件ajax [重复]
【发布时间】:2015-09-24 12:38:37
【问题描述】:

我想在 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>

菜单页面与上面类似,菜单项具有渲染属性(fe。当用户登录时显示注销按钮)和我想在其上显示用户名的 loginConfirmationPage。

我需要更新这两个 pm:pages 以在菜单页面上获取注销按钮,并在确认页面上显示用户名。 我怎样才能做到这一点?现在我只能更新一页。我尝试输入类似于以下的语句:

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

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

两者都不起作用。我该怎么做?

【问题讨论】:

  • 在浏览器 Firefox/Chrome 中按 F12,选择 HTML/Elements 选项卡,按箭头/放大镜图标并选择/搜索与要更新的元素对应的 id 属性。其中之一可能包含冒号字符,因为它放置在与按钮不同的名称容器中。然后在id开头加一个冒号,放在按钮更新属性中(即::nameContainer:menuPage)。注意:使用空格代替逗号或分号来分隔更新区域。

标签: ajax jsf primefaces


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多