场景如下:
屏幕上有两个按钮,例如button1和button2。在页面加载时,button2被禁用。当用户单击button1时,将启用button2。我使用javascript window.onload事件和button1上的onclick事件实现了这个功能。我的问题是,当用户点击button1时,它会触发页面重新加载。话虽如此,在重新加载页面后,由于onload事件,button2被禁用。
是否有其他方法可以实现此功能?
顺便说一句,我使用的是primefaces。
答案 0 :(得分:12)
primeface页面就像这样,
<p:commandButton update="panel1" actionListener="#{bean.button1}" value="button1" disabled="#{bean.disable}">
<f:setPropertyActionListener value="#{false}" target="#{bean.disable}"/>
</p:commandButton>
<p:commandButton update="panel2" actionListener="#{bean.button2}" value="button1" disabled="#{!(bean.disable)}">
<f:setPropertyActionListener value="#{true}" target="#{bean.disable}"/>
</p:commandButton>
管理Bean:
public class Bean {
private boolean disable;
// default constructor
public Bean(){
this.disable= false;
}
public boolean isDisable() {
return disable;
}
public void setDisable(boolean disable) {
this.disable = disable;
}
}
答案 1 :(得分:0)
如果您使用的是JSF 2.0,则可以使用f:ajax
标记完成此操作。
您可以禁用包含bean条件的按钮
disabled="#{bean.isDisabled}"
当您单击按钮1时重新显示按钮时,可以启用该按钮。