问题是,我对 javascript 几乎一无所知,只是对 PrimeFaces 有一点了解,而且我在文档中找不到操作方法:(
所以我的页面上有一个 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
输入文本中的事件上,我想启动start()
函数,显示 a dialog
,只有当PageBean.validLink
它是 true (validLink
在PageBean.validateUrl
侦听器中设置,并且它是瞬时的)并且当infopanel
orinfopanel2
显示为 ajax 动作时,我想调用stop()
函数。
那么,我该怎么做呢?