无法在表单上禁用p:commandButton进行文件上传 - PrimeFaces

时间:2012-12-18 10:11:02

标签: jsf primefaces

我正在尝试制作一个“一键式按钮”,无法在文件上传表单中发送两次动作方法的请求。这是代码:

<h:form id="importForm" enctype="multipart/form-data">
   <p:messages id="messages" showDetail="true" autoUpdate="true"/>

   <h:panelGrid>            
     <p:fileUpload value="#{importController.uploadFile}" mode="simple" />

     <p:commandButton id="importButton" styleClass="commandButton" value="Send" action="#{importController.getFile}" ajax="false"/>   
   </h:panelGrid>
</h:form>

如果我设置onclick="importButton.disable()"的值,则该按钮被禁用但从不调用action方法。如果我将onclick="alert('hello!')"之类的回调作为回调,则会发送请求。如果禁用提交按钮,PrimeFaces会生成某种JS代码吗?

有任何帮助吗?谢谢!

PrimeFaces 3.3.1

Liferay 6.0.1,在Java6中嵌入了Tomcat 7.0.23

PrimeFaces Liferay Bridge 3.1.1-ga2

1 个答案:

答案 0 :(得分:2)

如果我找到你,请尝试使用onclick="setTimeout('importButton.disable()";', 50);"

您不能指望禁用按钮工作(调用操作方法),但您可以在单击后禁用它...