0

我试图通过检查一些条件来显示弹出菜单,例如是否未选择某些内容显示弹出窗口等,如果一切都很好,请提交页面。这是代码:

<h:commandButton onclick="if (#{moneyTransferManager.showPopup()})
                                    #{rich:component('popup')}.show();"  value="Devam" >
      <rich:componentControl target="popup" operation="show" />

      </h:commandButton>
<rich:popupPanel id="popup" modal="false" autosized="true" resizeable="false">
      <f:facet name="header">
      <h:outputText value="Simple popup panel" />
      </f:facet>
      <f:facet name="controls">
      <h:outputLink value="#" onclick="#{rich:component('popup')}.hide();
                                return false;">
                                    X
      </h:outputLink>
      </f:facet>
       <p>
          The popup panel is open and closed from the javascript function of component client side object. The following code
                                <a href="#" onclick="#{rich:component('popup')}.hide()">hide this panel</a>:
      <f:verbatim>&#35;</f:verbatim> #{rich:component('popup')}.hide()
      </p>
      </rich:popupPanel>

然后单击按钮后,弹出窗口显示一秒钟,然后刷新页面并丢失弹出窗口。为了防止刷新页面,我尝试了:

<f:ajax execute="@form" render="@none" />

但是如果一切正常并且我不需要弹出窗口,我需要通过命令按钮提交页面,但是因为我说 render=@"none" 我不能这样做。那么我该怎么办呢?

谢谢

4

1 回答 1

1

<h:commandButton>有一个默认按钮类型,当它被点击时submit提交封闭。h:form这就是单击时页面刷新的原因。

<h:button>应该用于 java 脚本使用。此外,如果<h:commandButton>type<h:button>属性设置为button.

<h:button onclick="if (#{moneyTransferManager.showPopup()})
                                        #{rich:component('popup')}.show();" value="Devam"/>

或者

<h:commandButton type="button" onclick="if (#{moneyTransferManager.showPopup()})
                                    #{rich:component('popup')}.show();"  value="Devam" >

也可以看看 :

于 2013-07-15T06:21:42.297 回答