richfaces popupPanel: commandButton требует двух кликов - PullRequest
3 голосов
/ 03 февраля 2012

У меня есть всплывающее окно с формой и кнопкой команды на нем. Когда я нажимаю на кнопку command, я хочу отправить форму и вызвать действие.

Проблема в том, что если я помещаю commandButton в форму, мне нужно дважды щелкнуть по ней, чтобы вызвать действие, и если я помещу ее вне формы, она не отправит форму.

Вот мой код:

<rich:popupPanel id="popup" modal="true" minWidth="600" minHeight="300"
    resizeable="false">
    <f:facet name="header">
        <h:outputText value="Edit" />
    </f:facet>
    <f:facet name="controls">
        <h:outputLink value="#" id="x"
            onclick="#{rich:component('popup')}.hide(); return false;">X</h:outputLink>
    </f:facet>
    <h:form id="dataForm">

        <table id="table">
            <tr>
                <td><h:outputText value="Details:" /></td>
                <td><h:inputTextarea id="details"
                        value="#{errorItemBean.workItem.details}" /></td>
            </tr>               
        </table>

        <a4j:commandButton id="submitButton" value="Ok"
                action="#{errorItemBean.create}" reRender="errorForm"
                oncomplete="#{rich:component('popup')}.hide()">
            </a4j:commandButton>

        <h:commandButton id="cancelButton" value="Cancel">
            <rich:componentControl target="popup" operation="hide" />
        </h:commandButton>
    </h:form>
</rich:popupPanel>

1 Ответ

4 голосов
/ 03 февраля 2012

Это может произойти, если вы использовали reRender=":popup" перед открытием всплывающего окна. Вам нужно перерисовать форму всплывающего окна вместо reRender=":dataForm".

Смотри также:

...