Ich benutze Richfaces 4 fileUpload um eine Datei hochzuladen.RichFaces FileUpload ohne Add Button und call by commandLink
Aber in meinem Fall möchte ich nur in einen Link klicken und den Browser sehen, um die Datei auszuwählen.
Also in meinem Code ich habe command:
<a4j:commandLink id="showFileUpload"
execute="@this"
action="#{doSomething.Something(a)}"
render="@none"
oncomplete="#{rich:element('stratFileUpload')}.click();"
>
<h:graphicImage value="/images/A.png" />
</a4j:commandLink>
Und der Teil des Fileupload ist nur ein Formular mit dem Dateiupload darauf:
<h:form id="stratFileUploadForm">
<rich:fileUpload id="stratFileUpload" execute="@this"
fileUploadListener="#{doUploadedFile}"
onuploadcomplete="
jQuery(#{rich:element('stratFileUpload')}).find('.rf-fu-itm-lnk').click();
"
noDuplicate="true" maxFilesQuantity="1"
sizeExceededLabel="#{msg['sizeExceeded']}"
uploadLabel="#{msg['upload']}" />
</h:form>
nenne ich bereits in der command die ID form und reich: fileUpload id, aber nichts funktioniert.
Der einzige Weg, dies zu arbeiten ist mit Pop-up, und in diesem Fall kam es mit den „+ Hinzufügen“.
So die onComplete auf diese # ändern (onComplete = "{reich: element . ('.rf-fu-btn-cnt-Add-Eingang')} klicken(); ") –
die Richfaces ist die 4-Version sry –
Halten Sie es, wie es ist (oder $ zu jQuery ändern, wenn Sie müssen), Sie schaue nicht nach oben IDs. – Makhiel