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 js :
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 java dans le bean richBean
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. }
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.
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 ""; }
Mais le souci, c'est que ça marche pas. le js bloque la méthode du bean.
avez vous une idée ?
Partager