我有這樣的代碼下面的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>
聽起來好像你的一個JS函數崩潰了,從而使JS上下文處於終止狀態(這反過來導致ajax請求根本不被觸發)。檢查JS控制檯是否有任何錯誤。 – BalusC
@BalusC是看起來像是一樣我刪除了腳本和withought腳本它工作正常。仍然是我的腳本錯誤控制檯沒有錯誤。順便說一句,感謝BalusC ... – Ketan
我很抱歉,我不理解,你仍然有問題與你的第二個?沒有腳本,它工作得很好?如果您的控制檯中沒有任何內容,請在腳本中添加一些警報,以查看它是否能夠通過它們而不會死亡。另外,我不確定「回報錯誤」語句可能會如何處理a4j的不完整(如果有的話),但可能值得查看您的js是否返回false,如果有的話,是否有任何影響。對不起,我不是一個jsf大師;所以只是在這裏抓。祝你好運。 – mschor