【发布时间】:2014-07-12 16:55:09
【问题描述】:
我想防止在 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}" />
然后按钮被阻止并阻止多次单击,但是我必须刷新站点才能查看表中的数据。 :/ 我不知道该怎么做。
【问题讨论】:
-
查看this(虽然它适用于 PrimeFaces)。
-
第一种方式(使用
h:commandButton)向服务器执行标准提交。另一个((使用a4j:commandButton))执行一个ajax请求,默认情况下不会呈现您的表格,除非您在其reRender属性中指定它。
标签: jsf