防止JSF中的多个单击按钮

时间:2014-07-12 16:55:09

标签: jsf

我想阻止JSF中的多个单击按钮,但每次尝试都不起作用。该按钮中的操作负责将数据加载到表中。 我有类似的东西:

<h:commandButton class="inputButton bFind" action="#{backingBean.load}" value="#{msgc.find}" />

但该行允许用户在行动结束前点击该按钮。

当我尝试做类似的事情时:

<a4j:commandButton class="inputButton bFind" onclick="this.disabled=true" oncomplete="this.disabled=false" action="#{backingBean.load}" value="#{msgc.find}" />

<a4j:commandButton class="inputButton bFind" onclick="this.disabled=true" oncomplete="this.disabled=false" action="#{backingBean.load}" value="#{msgc.find}" />

然后按钮被阻止并阻止多次点击但是我必须刷新站点以查看表中的数据。 :/ 我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

好的,我做到了。感谢“@Xtreme Biker”的帮助。我需要做的就是添加reRender属性:

<a4j:commandButton class="inputButton bFind" onclick="this.disabled=true" oncomplete="this.disabled=false" action="#{backingBean.load}" reRender="dataTable_#{backingBean.id}" value="#{msgc.find}" />

并将应该重新呈现的内容放到

<a4j:outputPanel id="dataTable_#{backingBean.id}" ajaxRendered="true">
</a4j:outputPanel>