Bonjour,
Avant tout, je débute en jsf
j'aimerai executer une commande javascript et un action bean sur un composant jsf mais l'action bean n'est pas exécuté à cause du javascript.

code jsf:
ne soyez pas surpris par le bouton caché..., c'est comme ça que je dois utiliser, c'est imposé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<h:inputText value="#{richBean.name}" ondblclick="getElementById('jbForm1:bouton').click();" id="name">
<h:commandButton id="bouton" action="#{richBean.dblClick}" onclick="startWait('jbForm1','name')"   style="visibility:hidden;"/>
code js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function startWait(idForm,element) {
var obj = document.getElementById(idForm+":"+element);
var ret = Form.disable(idForm); //framework js, qui permet de disable tous les champs d'un formulaire.
}
code java dans le bean richBean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public String dblClick() throws InterruptedException {
    	System.out.println("double clic 1");
    	Thread.sleep(5000);
    	System.out.println("double clic 2");
    	return "";
    }
En gros, quand on fait un double clic sur la textbox, on met en attente 5s le traitement, le champ est disable puis la page se recharge.

Mais le souci, c'est que ça marche pas. le js bloque la méthode du bean.

avez vous une idée ?