2012-09-12 58 views
0

我有這樣的代碼下面的JSP頁面...H:selectOneListbox平變化和A4J:支持事件的onchange衝突

<h:selectOneListbox size="1" id="doseUnit" onchange="generateSignature(),quantityUnitSelecator()" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionUnit}"> 
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.doseUnit}"/> 
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}" 
event="onchange"> 
</a4j:support> 

如果我使用event="onchange"內A4J他並沒有叫我generatePrescriptionQuantity但如果我用event="onblur"它工作正常。所以我認爲它是listbox的onchnage方法的原因。實際上,我必須在交換中產生這種效果,並且必須調用這些腳本。


UPDATE


解決的問題的第一選擇,當我做了以下修改但對於第二選擇(這是僅低於第一selectone)同樣的問題繼續...我不明白爲什麼這個是?

<h:selectOneListbox size="1" id="doseUnit" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionUnit}"> 
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.doseUnit}"/> 
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}" 
event="onchange" oncomplete="generateSignature(),quantityUnitSelecator()"> 
</a4j:support> 

<h:selectOneListbox size="1" id="route" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionRoute}"> 
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.route}"/> 
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}" 
event="onchange" oncomplete="generateSignature()"> 
</a4j:support> 

+0

聽起來好像你的一個JS函數崩潰了,從而使JS上下文處於終止狀態(這反過來導致ajax請求根本不被觸發)。檢查JS控制檯是否有任何錯誤。 – BalusC

+0

@BalusC是看起來像是一樣我刪除了腳本和withought腳本它工作正常。仍然是我的腳本錯誤控制檯沒有錯誤。順便說一句,感謝BalusC ... – Ketan

+0

我很抱歉,我不理解,你仍然有問題與你的第二個?沒有腳本,它工作得很好?如果您的控制檯中沒有任何內容,請在腳本中添加一些警報,以查看它是否能夠通過它們而不會死亡。另外,我不確定「回報錯誤」語句可能會如何處理a4j的不完整(如果有的話),但可能值得查看您的js是否返回false,如果有的話,是否有任何影響。對不起,我不是一個jsf大師;所以只是在這裏抓。祝你好運。 – mschor

回答

1

難道說你在H平變化:selectOneListbox不會在A4J一個onchange發揮出色:支持?嘗試從列表框中移除您的onchange,並將其放入a4j標記的onsubmit屬性中。

+0

而不是Onsubmit我把它放在對我有效的oncomplete事件中,但我有多個selectonelistbox的順序,我必須採取這一步所有a4j每一個選擇。對於第一選擇這個解決方案的工作,但在非常接下來的選擇,不。讓我更新我的代碼更清晰。 – Ketan

+0

感謝mschor的幫助。我有更新我的問題。 plz幫助。 – Ketan