Jsf 从托管bean禁用动态创建的按钮
我对Primefaces中Dynamicly创建的CommandButton有问题 我想在用户单击(提交)后禁用该按钮。我试过两种方法:Jsf 从托管bean禁用动态创建的按钮,jsf,primefaces,Jsf,Primefaces,我对Primefaces中Dynamicly创建的CommandButton有问题 我想在用户单击(提交)后禁用该按钮。我试过两种方法: 通过将widgetWar(commandButton.setWidgetVar(“小马”);)属性添加到我的commandButton并设置onclick行为(commandButton.setOnclick(“PF('pony').disable();”);)。WidgetVar属性在页面上的所有元素中都是唯一的。这种方法不起作用-单击后的“我的按钮”变为“
commandButton.setWidgetVar(“小马”);
)属性添加到我的commandButton并设置onclick行为(commandButton.setOnclick(“PF('pony').disable();”);
)。WidgetVar属性在页面上的所有元素中都是唯一的。这种方法不起作用-单击后的“我的按钮”变为“禁用”,然后立即返回“启用”UiComponent
((CommandButton)组件)上的setDisabled
方法从managedBean启动。setDisabled(true)代码>。这也不行
p:outputPanel
提前谢谢
单击后我的按钮变为禁用,然后立即返回启用状态
如果ajax
update
覆盖了按钮本身,就会发生这种情况。只需从中排除按钮,并只指定真正需要更新的部分。您可以在bean中声明一个字段
boolean disable = false;
单击侦听器中的按钮后:
disable = true;
在按钮中使用以下代码:
<p:commandButton id="x" disabled="#{bean.disable}" update="@form:x" />
1。那么命令按钮是ajax在提交后更新自身?2.你忘了详细说明“不起作用”。在任何情况下,它在技术上与在普通XHTML中的实现方式没有什么不同。在Java中这样做只会降低可读性和可维护性。@BalusC是的,命令按钮是ajax在提交后更新自身:)如果我需要更新按钮本身怎么办?有什么办法吗?