我的网络应用程序中有这个模块,我需要更新目录。
这个想法是禁用h:commandButton
并显示一个 h:graphicImage
,这两个操作都应该在单击按钮后立即发生。最后,当更新过程结束时,它应该以另一种方式执行, 隐藏h:graphicImage
,启用h:commandButton
,但这次还显示一个标签h:outputText
,上面写着"更新成功"或"更新失败"。
我的代码中的问题是图像和标签在该过程完成后立即出现,我找不到执行上述操作的方法。
我错过了什么或什么?
干杯。
<a4j:commandButton id="btnActualiza" value="Actualizar catálogos"
render="messageCatalogos actualizacionCorrecta
@this imgProcesando"
onclick="this.disabled=true;"
oncomplete="this.disabled=false"
actionListener="#{administrationBean.doImgProcesandoVisible}"
action="#{administrationBean.doActualizaCatalogos}"/>
<a4j:outputPanel id="imgProcesando">
<h:graphicImage rendered="#{administrationBean.imgProcesandoRendered}"
url="img/imgLoading.gif"/>
</a4j:outputPanel>
<h:panelGroup/>
<h:panelGroup/>
<a4j:outputPanel id="actualizacionCorrecta" style="font-size: 14px; color: #D17100">
<h:outputText rendered="#{administrationBean.actualizacionCorrectaLabelRendered}"
value="Actualización correcta !"/>
<h:outputText rendered="#{administrationBean.actualizacionFalloLabelRendered}"
value="Fallo la actualización !"/>
</a4j:outputPanel>
更新
我的开发环境:
- 莫哈拉 2.1.6
- 富人脸 4.1.0.最终版
- 雄猫 7.0.14(测试)/雄猫 7.0.22(产品)
您需要通过JS显示和隐藏图像。
<h:graphicImage id="loading" url="img/imgLoading.gif" style="display:none" />
跟
<a4j:commandButton ...
onbegin="this.disabled=true; $('#formId\:loading').show()"
oncomplete="this.disabled=false; $('#formId\:loading').hide()"
/>