問題は、私は JavaScript の知識がほとんどなく、PrimeFaces の知識がほとんどなく、ドキュメントでハウツーを見つけることができなかったことです:(
だから私は自分のページにプライムフェイスのテキストボックスを持っています:
<p:inputText styleClass="step1-input" value="#{PageBean.documentToDownload}">
<p:ajax event="keyup" update="infopanel,infopanel2,downloadbutton" listener="#{PageBean.validateUrl}"/>
</p:inputText>
テキスト ボックスに何かを書き込むと、アクションが実行され、完了するまでに数秒かかります。その結果、panel
何かを表示するか、私が書いたことが間違っていると言うページに表示されます。
<p:panel id="infopanel" visible="#{PageBean.validLink and PageBean.info != null}" header="Information" style="margin-bottom:10px;">
<h:outputText value="Everything is okay"/>
</p:panel>
<p:panel id="infopanel2" visible="#{PageBean.validLink and PageBean.info == null}" header="Error" style="margin-bottom:10px;">
<h:outputText value="An undefined error occured."/>
</p:panel>
statusDialog
私が使用できるページにはすでにprimefacesがあります:
<script type="text/javascript">
function start(){ statusDialog.show(); }
function stop(){ statusDialog.hide(); }
</script>
だから、私がやりたいことは次のとおりです。入力テキストのイベントで関数keyup
を起動し、が true の場合にのみ表示したい (がリスナーに設定されており、瞬時に発生する) そして、またはが ajax アクションとして表示される場合、私は関数を呼び出したい。start()
dialog
PageBean.validLink
validLink
PageBean.validateUrl
infopanel
infopanel2
stop()
それで、どうすればそれを行うことができますか?