3

詳細を入力するためのダイアログがあります。最初は、InputTextは空です。しかし、2 番目の入力から、InputTextは前の値を維持します。

これは私のコードです:

     <p:commandButton id="showDialogButton1" type="button" value="add" onclick="dlg1.show()" update="firstname1"/>
     <p:dialog id="dialogAjout" header="add department" widgetVar="dlg1" resizable="false">  
          <h:panelGrid columns="2" style="margin-bottom:10px">  
                <h:outputLabel for="firstname1" value="Libellé :" />  
                <p:inputText id="firstname1" value="#{departementBean.departement.libelleDepartement}" />
          </h:panelGrid>  
          <p:commandButton id="submitButton1" value="Valider" oncomplete="dlg1.hide();" action="#{departementBean.addDept()}" update="tabView"/> 
     </p:dialog>

どうすれば解決できますか、お願いします!!

4

5 に答える 5

7

次の primefaces コンポーネントを使用できます: http://www.primefaces.org/showcase/ui/misc/resetInput.xhtml 一般的なダイアログについて: ダイアログをフォーム内に配置しないでください。代わりにこれを使用してください: <p:dialog><h:form>... update="" 値に関して、appendToBody が true の場合は、ID の前にコロンを置きます (つまり、別の形式であることを意味します)。

于 2012-10-18T10:25:43.077 に答える
5

次のコードを使用する必要があります。

<h:commandButton value="Reset" style="margin-right:20px;">
    <p:ajax update="registrationForm" resetValues="true" />
</h:commandButton>
于 2014-10-07T06:54:09.083 に答える
4

このように開くボタンを変更します。oncompleteその前にダイアログを開き、IDをupdate属性に追加して更新し、アクションメソッドを追加して、サーバー側のロジックを実行してダイアログフィールドを実際に初期化します(入力/リセット)

<p:commandButton action="#{departementBean.prepareDialog}"  id="showDialogButton1" type="button" value="add" oncomplete="dlg1.show()" update=":dialogAjout"/>

ところで、ダイアログが開始ボタンと一緒にフォーム内にあるように見えますが、これは「悪い習慣」であり、ダイアログをそのフォームから離して、ダイアログ内に新しいフォームを配置し<p:dialog><h:form>ます。

于 2012-04-20T11:27:00.380 に答える