Sto provando a selezionare e mettere a fuoco l'ID componente selezionato dopo aver inviato un modulo (chiamata ajax).Funzione onclick processo dopo chiamata ajax <f:ajax>
<script>
var myFunc = function() {
document.getElementById('form:#{bean.componentId}').focus();
document.getElementById('form:#{bean.componentId}').select();
};
$(document).ready(function() {
myFunc();
});
</script>
<h:form id="form">
<h:commandButton action="#{bean.save}" onclick="return myFunc();" ...>
<f:ajax execute="@form" render="@form"/>
</h:commandButton>
...
</h:form>
Questa soluzione funziona, ma è un problema, che <f:ajax>
viene chiamato dopo onclick
, così la forma è resa dopo selezione dei componenti, e messa a fuoco viene azzerato.
Come posso chiamare la funzione DOPO che il modulo è visualizzato?
aggiornamento: (ho provato, per esempio)
- aggiungere
onevent="myFunc();"
af:ajax
=> porta a rinfrescante pagina - aggiungere
onevent="myFunc()"
af:ajax
=> stesso comportamentoonclick
attributo - prossimo
f:ajax
cononevent
attr. => Sempre lo stesso
Update2 (come dovrebbe opere):
- presentare pulsante è ajax chiamato
- forma è pulita, se necessario
- campo appropriato è focalizzata (dipendeva alcuni utenti scelto fattori)
C'è un "onComplete" -attribut in primefaces CommandButton e in RichFaces CommandButton. – stg