Bon... ça ne donne pas beaucoup d'aide ici. Enfin, pour vous inspirer, je vais vous donner le début de la réponse que j'ai trouvé (en espérant qu'elle ai une fin...).
Tout d'abord, il m'a fallu trouver comment récupérer l'objet dans l'évènement et le catcher une fois l'action envoyée.
onclear="var entree = event.memo.entry;"
Ceci fait, j'ai bidouillé en javascript pour pouvoir utiliser le nom du fichier comme discriminant : J'ai créé un petit formulaire caché qui prend le nom du fichier et execute une action.
1 2 3 4 5 6 7 8
| <a4j:form id="CleanForm">
<h:inputText style="visibility: hidden;position: absolute;" id="CleanFileName"
value="#{posterCourrierHandler.fileUploadBean.selectedFileName}" />
<a4j:commandButton style="visibility: hidden;position: absolute;" id="CleanButton"
action="#{posterCourrierHandler.fileUploadBean.clean}"
onclick="if(!confirm('pika ?')) return false;"
reRender="CleanFileName,CourrierPJ" />
</a4j:form> |
le onclear devient le suivant :
1 2 3 4
| onclear="if(event.memo.entry){
$('CleanForm:CleanFileName').value=event.memo.entry.fileName;
};
$('CleanForm:CleanButton').click();" |
L'action du bouton est bien exécutée.
J'applique ensuite mon action clean() (dans posterCourrierHandler.fileUploadBean). La propriété selectedFileName est setté correctement.
Cependant, une fois la fonction appellée, la liste complète du rich:fileUpload s'efface complètement ??!!!
Est-ce que quelqu'un saurait continuer un peu cette piste ? (on ne pourra pas dire que je n'ai pas creusé :p).
Partager