簡體   English   中英

有時在JSF commandlink中沒有調用ajax監聽器

[英]sometimes ajax listener is not getting called in JSF commandlink

我在網上搜索並嘗試了很多方法,但沒有任何結果。在我的.xhtml頁面中,有7個鏈接,它們是JSf命令鏈接,如下所示,

    <h:commandLink id="HeaderLink" value="Header">
        <f:ajax render="orderHeaderVOString" 
            onevent="updateHeaderVO"
            listener="#{OrderMBean.getOrderHeaderData}" />
    </h:commandLink>
    &nbsp;&nbsp;
    <h:commandLink id="orderLinesLink" value="Lines">
        <f:ajax render="orderLinesVOString" 
            onevent="updateLinesVO"
            listener="#{OrderMBean.getOrderLinesData}" />
    </h:commandLink> 

輸入隱藏字段,如下所示

    <h:inputHidden value="#{directCustViewOrderMBean.headerVOString}"
        id="orderHeaderVOString" />
    <h:inputHidden value="#{directCustViewOrderMBean.linesVOString}"
        id="orderLinesVOString" />

和javascript方法如下

    function updateHeaderVO(data) {
          if (data.status == 'success') {
        var orderHeaderVOString =    document.getElementById('viewOrderForm:orderHeaderVOString').value;
            var parsedJSON = eval("(" + orderHeaderVOString + ")");
             alert("success");
             }}

我的問題是,當我在將某些頁面更改為4到5頁后繼續瀏覽頁面時,出現錯誤“語法錯誤:輸入意外結束”。 這是因為未調用偵聽器方法,並且'viewOrderForm:orderHeaderVOString'中的數據為空。 為什么有時它被調用而有時它不被調用?

我得到了解決方案,現在可以正常工作的問題是

<h:inputHidden feilds

每次我瀏覽頁面時,值始終駐留在隱藏的字段中,因此不會發生ajax調用。 現在我每次都對隱藏的字段無效。因此它的工作正常,正在進行ajax調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM