Jsf <;p:commandButton>;禁用时不工作=";“真的”;最初
这是我的ManagedBean:Jsf <;p:commandButton>;禁用时不工作=";“真的”;最初,jsf,button,primefaces,Jsf,Button,Primefaces,这是我的ManagedBean: @Named(value = "mrBean") @RequestScoped public class MrBean { public void laugh() { System.out.println("HAHAHA"); } public void prepareToLaugh() { System.out.println("Drink water."); } } 这是我的commandButton的
@Named(value = "mrBean")
@RequestScoped
public class MrBean {
public void laugh() {
System.out.println("HAHAHA");
}
public void prepareToLaugh() {
System.out.println("Drink water.");
}
}
这是我的commandButton的工作版本:
<p:commandButton actionListener="#{mrBean.laugh}" widgetVar="laughtButton"
value="Laugh" oncomplete="laughButton.disable();" />
单击第二个按钮时,我看到饮水
,第一个按钮已启用。然而,当我点击第一个按钮时,什么也没发生
如果有人能给我一个如何解决这个问题的建议,我将不胜感激。我使用的是PrimeFaces 3.0 RC2。与
rendered
属性一样,JSF在处理表单提交时重新评估服务器端的disabled
属性,作为防止篡改请求等的一部分。但是,您正在通过JS启用/禁用它,而不通知服务器端更改
在处理表单提交期间,您需要确保在请求期间,disabled
属性的值计算为false
。例如,将其绑定到另一个按钮设置的视图范围bean的boolean
属性
另见:
disabled
设置为true,它就会工作。如果我这样做了,它就不起作用了我一直用这种方式。然而,我在前面看到了PrimeFaces的客户端API,我认为我可以保存一个布尔属性。结果还是需要的:P.谢谢!API更像按钮的可视助手。
<p:commandButton actionListener="#{mrBean.laugh}" widgetVar="laughtButton"
value="Laugh" disabled="true" oncomplete="laughButton.disable();" />
<p:commandButton actionListener="#{mrBean.prepareToLaugh}"
value="Prepare to laugh" oncomplete="laughButton.enable();" />