1

検索に使用されるajaxstatusとダイアログがあります

<h:body>
    <p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>  

    <p:dialog id="loading" modal="true" widgetVar="statusDialog" header="" draggable="false" closable="false">  
        <p:graphicImage value="/images/ajax-loader.gif" />  
    </p:dialog>

ダイアログ部分

<p:dialog id="showDial" header="Search" widgetVar="srch" resizable="false" >
                    <h:panelGrid id="searchGrid" columns="2" cellpadding="10" >
                        <h:outputLabel id="srchIdLbl" value="Employee ID:" />
                        <p:inputText id="srchIdTxt" value="#{employee.employeeId}" />

                        <p:commandButton id="search1" value="Search" type="submit" action ="#{employee.search()}" 
                                         update="patientTbl"/>
                        <p:commandButton id="reset1" value="Reset" type="reset" /> 
                    </h:panelGrid>
                </p:dialog>

上記のコードは正常に動作し、読み込みダイアログが表示されます。ただし、検索が完了すると、ダイアログは画面に残ります。ダイアログを閉じるために、commandButton id="search1" に以下のコードを追加しました

onComplete="showDialog.hide()"

*問題: *上記の行を追加すると、AjaxStatus が表示されません。表示されない理由を知りたいです。

また、以下のコードを commandButton id="search1" に追加してみました

onclick="statusDialog.show()" onselect="statusDialog.show()" onmousedown="statusDialog.show()" onComplete="showDialog.hide() statusDialog.hide()"

問題上記のコードでは、ManagedBeans コードが完了するまでダイアログの背景が無効になり、ダイアログも閉じますが、検索ボタンをクリックすると、リセット ボタンをクリックしても、以前に入力した検索パラメータが読み込まれません。

以前に入力したデータが送信されないという上記の問題を解決するにはどうすればよいですか、または上記の問題を回避するためにより良い方法で Ajaxstatus を実行するにはどうすればよいですか。

4

0 に答える 0