那麼目前我有這樣的:RichFaces的4文件上傳清晰和明確的所有按鈕
<rich:fileUpload addLabel="Agregar" clearAllLabel="Quitar todos"
clearLabel="Quitar" deleteLabel="Quitar"
doneLabel="Completado" uploadLabel="Subir archivos"
fileUploadListener="#{uploadBean.doUpload}"
acceptedTypes="txt, csv"
noDuplicate="true">
<a4j:ajax event="uploadcomplete" render="validationButton"/>
<a4j:ajax event="clear" listener="#{uploadBean.doClearFilesList}"
render="validationButton"/>
</rich:fileUpload>
支持bean我已經上傳的文件列表。當我點擊Clear/Clear all
按鈕事件clear
被觸發,方法doClearFilesList
(這只是清除上傳的文件列表)是完全當用戶點擊Clear All
按鈕,但如果用戶點擊Clear
按鈕,它應該只是刪除的項目與該文件對應的列表被清除。
我可以在我的UploadBean.doClearFilesList
方法上從列表中刪除單個文件嗎?應該是這樣的:
public void doClearFilesList(){
files.clear(); //when CLEAR ALL is clicked
files.remove(oneFile); //when CLEAR is clicked
validationButtonRendered = false;
}
任何想法?
乾杯
UPDATE
RichFaces的4.1.0最終 JSF鑽嘴魚科2.1.6 的Tomcat 7
這是非常有益的感謝。還有一個問題,我怎麼知道誰是'clearFile()'函數的調用者?如果是** Clear All **按鈕或** Clear **鏈接? – BRabbit27 2012-04-03 15:29:08
我不知道你爲什麼需要它,對不起,我沒有一個適當的答案。然而,在你的Javascript函數中,你可以通過調用「window.event.srcElement」來訪問觸發事件的元素。只需爲ClearAll按鈕「window.event.srcElement.tagName」返回「SPAN」,對於Delete鏈接,它返回「A」。這意味着您可以在JavaScript部分中正確識別組件。因此,在識別組件後,嘗試使用 將其傳遞到服務器。 –
prageeth
2012-04-05 12:18:30