【发布时间】:2011-04-17 16:11:08
【问题描述】:
我正在开发一个 Java EE 应用程序(JSF2 + richfaces 3.3.3 + facelets)。
我想在加载我的页面时禁用我的 h:selectOneMenu,当它完成加载时(使用函数 onload()),我想重新启用我的组件。 我有这样的事情:
<ui:define name="infosHead">
<script type="text/javascript">
window.onload = function() {
document.getElementById("forme1_myform:valueCh").disabled = false;
alert("here");
}
</script>
</ui:define>
<ui:define name="infosBody">
<h:form id="forme1_myform" target="_blank">
<h:selectOneMenu id="valueCh" value="#{mybean.value}" disabled="true" >
<f:selectItems value="#{mybean.values}" />
<a4j:support event="onchange"
ajaxSingle="true"
limitToList="true"
reRender="id1,id2,...."
ignoreDupResponses="true"
action="#{mybean.actionme}"
oncomplete="getId();"/>
</h:selectOneMenu>
</h:form>
</ui:define>
这工作正常。 但是我的 bean 一无所获(mybean.value == null)。
好像他认为该组件仍然处于禁用状态。
我怎样才能使它工作?
【问题讨论】:
-
没有这个功能还能用吗?你能发布bean代码吗?
-
启用和禁用组件正在工作。但是获取我从我的列表中选择的元素的值 donc 工作。当我将 h:selectOneMenu 的属性 disabled 设置为 false 时,我得到所选元素的值。
标签: java javascript jsf