【发布时间】:2012-01-26 09:00:24
【问题描述】:
我想上传文件而不发布整个表单。文件上传工作正常,但提交了整个表单。当验证正确时,这可以正常工作。但是当 p.e.必填字段为空,上传不起作用并返回错误消息(必填字段缺失) 所以我尝试 ajax 文件上传(ajax=true)。但随后上传什么也没做。
我尝试了一种解决方法,将文件上传和其他字段以不同的形式。这可行,但结果是您在其他字段中更改的数据在进行文件上传时会被忽略。
有什么建议吗?
这是我使用的代码:
<t:inputFileUpload id="fileupload" value="#{prospectDetail.upFile}" size="50" />
<h:outputLabel for="description" value="#{msg.prospectdetail_description}"/>
<mw:inputText id="description" size="40" value="#{prospectDetail.fileDescription}" />
<p:commandButton styleClass="button" value="#{msg.common_upload}" action="#{prospectDetail.upload}" ajax="false" process="@form" onbegin="busyPopup.show()" oncomplete="busyPopup.hide();"/>
【问题讨论】:
-
primefaces 上传有同样的问题,但是我将它设置为在文件选择时自动上传,效果很好,检查你使用的组件中是否有自动上传,这应该可以解决提交问题...
标签: ajax jsf file-upload