我的网页上有以下代码。在action
中的方法执行后,将呈现一个标签,指示该过程是否成功。
我想要的是在点击按钮后立即隐藏标签。我怎样才能做到这一点?
我在考虑使用actionListener
,但我不知道它是否有效:
或者onclick="getElementById().hide"
中的某些内容?
有什么想法吗?
干杯,
...
...
<a4j:commandButton id="btnActualizaCubo"
value="Actualizar Cubo"
render="messageDependenciaCubo actualizacionCuboLabels @this"
onclick="return confirm('Las fechas seleccionadas son correctas?');"
onbegin="this.disabled=true;
document.getElementById('formActualizacionCubo:imgProcesandoCubo').style.display='block'"
oncomplete="this.disabled=false;
document.getElementById('formActualizacionCubo:imgProcesandoCubo').style.display='none'"
action="#{administrationBean.doActualizaCubo}"/>
...
<a4j:outputPanel id="actualizacionCuboLabels" style="font-size: 14px; color: #D17100">
<h:outputText rendered="#{administrationBean.actualizacionCuboCorrectaLabelRendered}"
value="Actualización correcta !"/>
<h:outputText rendered="#{administrationBean.actualizacionCuboFalloLabelRendered}"
value="Fallo la actualización !"/>
</a4j:outputPanel>
...
答案 0 :(得分:1)
使用“onclick”方法使用JavaScript隐藏文本。一个简单的方法是使用div包装标签,并分别在onclick / oncomplete方法中隐藏/显示div。另外,请记住生成一个div来完成工作,因此您只需获取HTML生成的ID并隐藏/显示它。我会让你的JS函数隐藏/显示一个div(很简单,我必须说):
<script type="text/javascript">
function ocultaDiv(divId) {
document.getElementById(divId).style.display = 'none';
}
function muestraDiv(divId) {
document.getElementById(divId).style.display = 'block';
}
</script>
<a4j:commandButton id="btnActualizaCubo"
value="Actualizar Cubo"
render="messageDependenciaCubo actualizacionCuboLabels @this"
onclick="return confirm('Las fechas seleccionadas son correctas?'); ocultaDiv('myForm:actualizacionCuboLabels');"
onbegin="this.disabled=true; document.getElementById('formActualizacionCubo:imgProcesandoCubo').style.display='block'"
oncomplete =“this.disabled = false; document.getElementById('formActualizacionCubo:imgProcesandoCubo')。style.display ='none'; muestraDiv('myForm:actualizacionCuboLabels');” action =“#{administrationBean.doActualizaCubo}”/&gt;
当您可以使用纯JavaScript并保存性能时,请记住不要使用服务器调用呈现您的项目。此外,如果您使用RF 3.3或RF 4添加关于您正在使用的图像的提示,请添加“正在加载,请稍候”,这可以通过甚至可以冻结整个页面来完成(无需禁用你的按钮和链接!)。