Hello,
Voici un petit probleme sur lequel je n'ai trouve aucune reponse, et dont personne ne c'est fait l'echo sur le Net.
Je cree un bouton dans ma page JSF:
Comme on peut le voir la propriete disabled est bindee.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <ui:button action="#{Cluster2.startNodeButton_action}" binding="#{Cluster2.startNodeButton}" disabled="#{Cluster2.isStartNodeButtonDisabled}" id="startNodeButton" style="left: 143px; top: 792px; position:absolute" text="Start Node"/>
Maintenant, ce que je veux faire, c'est de pouvoir controller egalement cette propriete disabled cote client. Cela entre dans le cadre plus general d'un rafraichissement de la page par Ajax. J'envoie une requete au serveur et il me renvoie un fichier XMl qui contient la liste de tous les composants graphiques avec les proprietes a modifier (style, disabled, ....).
Tout fonctionne sauf la modification de la propriete disabled du bouton.
En effet, si je met dans mon javascript qqchose du style
Alors:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (attrName == "disabled") { // Update the graying of the button if (webElement != null) { webElement.disabled = attrValue; } }
- sous firefox, le bouton n'est pas grise mais n'est plus accessible (pas moyen de clicker dessus),
- sous IE6: le bouton est completement grise, meme si disabled=true.
J'ai essaye plusieurs methodes cote javascript comme:
Cette methode ne donne rien, car le bouton est tjrs enabled.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sjwuic_assign_button(id, defaultButtonStrings, true, false, attrValue);
La aussi rien de concluant!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 webElement.removeAttribute("disabled"); webElement.setAttribute("disabled", attrValue);
Bref je seche.
A noter que sur un bouton purement HTML, cette propriete fonctionne, c'est pourquoi j'ai prefere poster sur le forum JSF.
Partager