[英]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>
<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.