在命令按钮中单击显示不可见面板

时间:2014-01-23 11:02:30

标签: jsf-2 primefaces panel

我有一个visible="false"的面板,我想通过点击commandButton使其可见。我已经尝试过以下代码,但是当我点击按钮时,面板会同时出现并隐藏。

<h:form>
 <p:panel>
  <p:dataTable ...>
...
      <f:facet name="footer">
      <p:commandButton icon="ui-icon-plus" ajax="false" update="picklist" title="Add Travellers" onclick="hidenpanel.show();"></p:commandButton>
       </f:facet>
  </p:dataTable> 
 </p:panel> 
 <p:panel  id="pickList" widgetVar="hidenpanel" styleClass="pick" style="margin-top: 20px; font-size: 14px; border: 0;" visible="false" header="Travellers" >
 </p:panel> 
</h:form>

当我在Chrome页面中按下F12时,我收到了2个错误和1个警告。

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/visasMarketing/RES_NOT_FOUND

Failed to load resource http://ads.okitspace.com/uploads/cover.js?id=c1f09f9576240d2f2907b350ed2de188&affid=SOFTPLUS

event.returnValue is deprecated. Please use the standard event.preventDefault() instead

2 个答案:

答案 0 :(得分:0)

您可以使用p:remoteCommand

showcase完全符合您的要求

答案 1 :(得分:0)

下面,

<p:commandButton ... ajax="false" ... />

使用ajax="false"您实际上会触发同步(非ajax)请求,而该请求又会导致整页重新加载。您需要删除以使其默认为ajax="true",这会触发异步请求,因此页面将保持不变。