8

我的 XHTML 页面中有一个<h:commandButton>。我希望在单击按钮后立即禁用该按钮。然后按钮应该调用动作。我的按钮按我的预期被禁用,但问题是该操作没有被触发。
<h:commandButton value="Go" onclick="this.disabled=true" action="#{bean.go()}"/>

但是,如果我删除该onclick属性,则会触发该操作。

或者,如果我使用<a4j:commandButton>它,它可以工作。
以下 a4j 按钮有效。
<a4j:commandButton value="Go" onclick="this.disabled=true" action="#{bean.go()}"/>

如何<h:commandButton>在单击后禁用 a ,以便该操作仍然触发?

4

1 回答 1

6

使用setTimeout,这样动作将被触发并且按钮将被禁用......

<h:commandButton value="Go"
   onclick="setTimeout('this.disabled = true;', 50);" 
   action="#{bean.go()}"/>

您也可以查看以下问题:如何禁用 h:commandButton 而不会阻止调用 action 和 actionListener?

于 2012-10-29T06:56:52.277 回答