0

私はJSFとリッチフェイスを使用しています。そして、私は新しいです。

フォームを閉じた後にポップアップでフォームをリセットすることに関する情報を探しています。フォームを検証する必要もレンダリングする必要もありません。私はそれを閉じたいのですが、もう一度開いたときにフォームをきれいにしたいのです。

これに関する情報を調べましたが、私のケースに対する答えが見つかりません。私が持っているものは次のとおりです。

<rich:popupPanel ....
     <a4j:outputPanel id="editPaneRegion">
          <h:form id="form2EditPane">
             <h:panelGrid columns="2" id="edit" ...>    
                <rich:validator>
                     <h:outputLabel for="nameContact" value="... " />
                     <h:panelGrid>
               <h:inputText id="nameVontact" value="xbean.selected.name" label="..." required="true" size="20" tabindex="1">        
               <f:validator validatorId="personNameValidator" />
            </h:inputText>
            <rich:message for="nameContact" ajaxRendered="true"/>
        </h:panelGrid>
               </rich:validator>

</h:panelGrid>

....
<a4j:commandButton id="update" value="..." action="#{xBean.edit}" render="form1EditPane:tableContacts, form1EditPane:contactSelect" execute="editPaneRegion" tabindex="6"/>
...
<a4j:commandButton id="close" value="..." oncomplete="#{rich:component('editPane')}.hide();return false;" execute="@this" ajaxSingle="true" immediate="true" tabindex="7"/>

閉じるボタンが正常に機能しません。ポップアップを開き、入力テキストを編集してからポップアップを閉じると、ポップアップを再度開くと、入力テキストが編集されますが、編集なしでオリジナルが必要です。

私は同じ質問を見つけましたが、何でも私のケースを解決します: a4j:regionを使用して、ボタンの属性の異なる組み合わせを試しました: inmediate= true, action={...clean}, ajaxSimple=true, ..しかし、動作しません。

誰かにこのケースの解決策を教えてください。ただし、この動作は一般的なものであるため、明らかなことを見逃していると思います。

4

1 に答える 1

1

フォームを再レンダリングするだけです。ポップアップを表示するために使用するものは何でも、ポップアップもレンダリングします。

<a4j:commandLink … 
    render="popupPanel" oncomplete="#{rich:component('popupPanel')}.show();" />

また、フォームをネストしないでください。HTML のように入力ボックスをラップする必要はありません<form>

于 2013-06-11T11:19:57.283 に答える