2012-05-02 85 views
0

我在JSF工作jsf a4j不能在弹出屏幕上工作

当我打开弹出窗口时,我的a4j ajax调用不起作用。

如果我不做弹出窗口,那么相同的屏幕工作。

这是平常的事吗?


弹出一个页面,在这里......几个这样的代码..

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk"%> 
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 

延迟设置为

<a4j:queue requestDelay="500" ignoreDupResponses="true" /> 

和实际Ajax调用像

<a4j:commandLink 
    actionListener="#{insuranceBackingBean.viewAll}" 
    ajaxSingle="true" 
    reRender="formularyList, noRecFoundGridForFormulary, patientCurrentDemographicDetails,patientInsuranceDemographicDetails,conflictSection" 
    eventsQueue="onClick" 
    onclick="setEligibilityValues('#{insuranceBean.fromEligibility}','#{insuranceBean.payerMessage}','#{insuranceBean.pharmacyBenefitRetailCoverageStatus}','#{insuranceBean.pharmacyBenefitMailOrderCoverageStatus}','#{insuranceBean.pharmacyBenefitLTCCoverageStatus}','#{insuranceBean.pharmacyBenefitSpecialtyCoverageStatus}');setVisibleConflictGrid();" 
    > 
    <f:verbatim>View</f:verbatim> 
    <f:param name="insuranceID" value="#{insuranceBean.id}" />  

其中setEligibilityValues是正在调用的脚本,但没有调用insuranceBackingBean.viewAll

有什么办法可以troubleshoot这个???

+0

帮助,显示一些代码 – mprabhat

+0

更多信息请...它应该正常工作,但必须有东西的方式...嗯mmmmmm – DaTroop

+0

谢谢你们的回复。我已经更新了代码。一旦你给出答案并帮助我,我需要隐藏这个...... :) – Ketan

回答

0

我不知道使用哪个组件/标签作为弹出窗口,但是我多次遇到这个问题,并且我知道的唯一解决方法是:您应该打开弹出窗口,作为模式对话框。这意味着它应该在iframe内呈现。

通常,如果弹出窗口未配置为模态,则通常会以div/span形式呈现,并且出于某种原因,ajax调用将无法在服务器端执行。