2010-03-01 2 views
1

richfaces의 모든 버튼 clear fileUpload 구성 요소가 있습니다.richfaces에 이벤트를 추가 할 수있는 방법 fileUpload "clear"

<rich:fileUpload id="quoteFile" tabindex="10" listHeight="80" maxFilesQuantity="1" onuploadcanceled="" 
clearControlLabel="" 
clearAllControlLabel="" 
acceptedTypes="xml" 
fileUploadListener="#{loadSaveQuotes.uploadListener}">  
<a4j:support event="onuploadcanceled" action="#{loadSaveQuotes.clearUploadData}" reRender="footer" /> 
</rich:fileUpload> 

내가 원하는 모든입니다 : 그 최종 사용자가이를 클릭 할 수 있도록

1의 두 버튼을 제거합니다. clearControlLabel을 ""로 설정하고 clearAllControlLabel을 ""로 설정했지만 clearControlLabel 만 숨겨집니다. 여전히 모든 컨트롤이 [x] 버튼으로 나타나고 난 여전히 클릭하십시오.

2,이 버튼을 제거 할 수 없으면 어떻게 제어합니까? 지우기 이벤트에 이벤트 리스너를 추가하는 것과 같습니다. a4j : support 이벤트를 추가했지만 지우기 단추를 클릭하면 트리거되지 않습니다.

귀하의 기여에 대해 감사드립니다.

답변

3

'onclear'자바 스크립트 이벤트에 a4j : support를 추가하십시오. 코드는 자명하다 :

<rich:fileUpload id="upload"> 
    <a4j:support event="onclear" reRender="upload"/> 
</rich:fileUpload> 
0

CSS를 통해 이러한 버튼을 숨길 수 있습니다. 당신은

<rich:fileUpload styleClass="my-upload"> etc. </rich:fileUpload> 

처럼 파일 업로드를 추가로 클래스를 제공하고이 파일 업로드 컴포넌트의 모양 번복 할 CSS Specificity을 사용할 수 있습니다 : 당신은 다음 원본을 더 높은 특이성을 가지고 선택기의 조합을 선택할 수 있습니다

.my-upload .rf-fu-btns-rgh, .my-upload .rf-fu-itm-rgh { 
    display: none; 
} 

을 하나는 RichFaces에서. 나는 내가 "정상적인"RichFaces 컴포넌트와 "수정 된"RichFaces 컴포넌트를 서로 옆에두고 스타일 클래스 만 다르게해서 추가 클래스를 가장 깨끗한 솔루션으로 찾았습니다.

변경하려는 요소의 RichFaces 스타일 클래스를 RichFaces component documentation에서 보거나 즐겨 찾는 웹 사이트 검사 도구로 찾을 수 있습니다.

0

나는 동일한 요구 사항을 가지고있었습니다. 파일 모두 업로드를 위해 제출 된 경우에만 모두 지우기 버튼과 링크 지우기를 숨 깁니다. JavaScript를 통해 동적 CSS로이 요구 사항을 해결했습니다. 아래는 그 예입니다.

풍부한 : 파일 업로드 제어


<rich:fileUpload id="excelUploader" 
       fileUploadListener="#{uploadUIController.excelFileUploadListener}" 
       acceptedTypes=".xls" 
       maxFilesQuantity="1" 
       noDuplicate="true" 
       ontyperejected="Wrong file type selected !" 
       serverErrorLabel="Invalid file type selected !" 
       listHeight="100px" 
       doneLabel="Excel Upload Completed !" 
       onfilesubmit="showHideClearLink()" 
       styleClass="fileUploadClass"/>   

파일의 맨 위에있는

자바 스크립트 코드 ...


<script type="text/javascript"> 
function showHideClearLink() 
{ 
var styleSheet = document.createElement('style') 
styleSheet.innerHTML = ".fileUploadClass .rf-fu-btns-rgh, .fileUploadClass .rf-fu-itm-rgh {display: none;}"; 
document.body.appendChild(styleSheet); 
} 


관련 문제