除非验证错误,否则禁止双击

时间:2014-10-06 09:03:21

标签: validation jsf jsf-2 primefaces double-click

<p:commandButton id="checkout" 
   value="Checkout" 
   action="#{checkoutBean.checkout}" 
   update="@form"
   onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"/>

在我的结帐按钮上,我使用超时黑客来防止双击... 但是,如果验证失败(例如,用户输入了无效的卡号),该按钮将被禁用,并且无法输入正确的详细信息。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

为防止重复拨打结帐,您可以使用onstartoncomplete

onstart="PF('checkoutWV').disable()" 
oncomplete="PF('checkoutWV').enable()"

checkoutWV是按钮的widgetVar。