我有这样的代码下面的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