2016-09-21 43 views
1

我在我的網頁在兩次Ajax調用https://gist.github.com/WurmD/b01dfc88ef2f707d9d57ef7022af2f60 (豆https://gist.github.com/WurmD/d606f54776f27bf1b2d13ac1562bad9d這是@ManagedBean @ViewScoped阿賈克斯不被稱爲第一次頁面加載之後

<p:tabView id="tabView"> 
<p:ajax event="tabChange" listener="#{provisioningBean.setOperation}" update=":form:growl" /> 

<p:selectOneMenu id="productDropMenuAct" value="#{provisioningBean.product}"> 
<p:ajax event="change" listener="#{provisioningBean.onProductChange}" update="equipmentDropMenuAct rangeActId equipmentDropMenuActLabel serviceDropMenuActLabel serviceDropMenuAct" /> 

無論是正在在頁面加載後立即調用。 在我更改標籤一次後,或更改selectOneMenu一次後,所有後續的ajax調用都起作用。

這是一個錯誤? 我錯過了什麼嗎?

+0

你需要在頁面加載解僱了'change'事件? –

+0

@JasperdeVries 呃,我不知道這是否合理。 。 我希望在頁面加載之後,在第一次更改下拉菜單選擇時(而不是第二次前進)更改事件觸發。 和/或用於tabChange事件在第一次更改選項卡時觸發,而不是僅在第二次觸發。 – WurmD

+0

請閱讀http://stackoverflow.com/questions/9844526/when-to-use-fviewaction-prerenderview-versus-postconstruct –

回答

0

以下注釋塊造成這個意外的行爲

<!-- 
        <p:autoComplete id="cfsIdsuspend" 
         value="#{provisioningBean.cfsIdSuspend}" 
         completeMethod="#{provisioningBean.completeCfsId}" > 
        </p:autoComplete> 
        <p:watermark for="cfsIdsuspend" value="CFS ID" /> 

        TO CENTER TABLE 
        <p:dataTable style="width:250px; margin: 0 auto;" 
--> 

刪除它,「一切都很好」

+0

現在,如果有人能夠並且在意分享爲什麼會發生這種情況,我認爲會很有用。 – WurmD

+0

見http://stackoverflow.com/questions/14692560/outcommented-facelets-code-still-invokes-el-expressions-like-bean-action-an –