我有JSF頁面有兩個下拉列表,我想加載第二個基於什麼選擇中的第一個值。但是,「onchange」事件僅在第二次更改選擇時才被檢測到!JSF valueChangeListener僅在第二次嘗試時才作出反應?
網頁代碼片段:
<h:form id="selectRegion">
<h:selectOneMenu id="governorate"
value="#{SearchView.governorate}"
styleClass="mediumInput" immediate="true"
valueChangeListener="#{SearchView.goverValueChanged}"
onchange="submit();">
<f:selectItems value="#{SearchView.goverItemsList}" id="govItems" />
</h:selectOneMenu>
<h:selectOneMenu id="district"
value="#{SearchView.district}"
styleClass="mediumInput">
<f:selectItems value="#{SearchView.districtItemsList}" id="distItems" />
</h:selectOneMenu>
</h:form>
<h:form id="SearchFor">
<hx:commandExButton
id="button1" styleClass="btn" type="submit"
value="Search" action="#{SearchView.searchAction}"
onclick="document.getElementById('selectRegion').submit();">
</hx:commandExButton>
</h:form>
的問題是,當我修改省的值是第二次,但不是第一次goverValueChanged(ValueChangeEvent事件)時纔會激活(我把系統出在goverValueChanged(ValueChangeEvent事件)知道)。
有沒有人有關於什麼可能是錯誤的想法?提前致謝!我正在使用JSF 1.1並在IBM WAS上運行
感謝您的回覆,我嘗試了初始化的想法,但它沒有工作......我認爲我們應該升級到JSF 1.2 – Moro 2010-09-16 14:57:39
可以肯定的是:是不是HTML/JS代碼不會調用submit() ',還是隻是簡單地跳過valueChangeListener方法的JSF代碼?作爲窮人的調試,添加一個'警報( '嗒嗒')''來向onclick'排除一個又一個,即'的onclick = 「警報( 'ONCLICK叫!');提交();」'。 – BalusC 2010-09-16 14:59:51