2011-07-20 36 views
2

我有一個頁面,其中包含一個文本框。我已將AjaxFormComponentUpdatingBehavior添加到onchange文本框中,其中我根據其值更新了其他幾個表單元素。檢票 - Ajax調用不重置頁面

據我所知,wicket會在通話結束後返回焦點到最後一個焦點組件。但是,在這種情況下,重點不會返回到組件。展示的錯誤行爲只發生在頁面加載後進行的第一次ajax調用,後續調用表現良好。

檢票阿賈克斯調試日誌中的錯誤的情況下看起來像

INFO: Response parsed. Now invoking steps... 

INFO: returned focused element: [object HTMLInputElement] 

INFO: returned focused element: null 

INFO: Response processed successfully. 

INFO: Invoking post-call handler(s)... 

INFO: refocus last focused component not needed/allowed 

現在我沒有檢票口的專家,但我注意到,每一個AJAX調用檢票口後返回記錄集中元素的值的兩倍,其中第二個在這種情況下記錄爲空。

如果有人能夠啓發我可能做錯的事,我將不勝感激。謝謝閱讀 。

回答

1

這是我最好的猜測,可能是什麼問題。

Wicket跟蹤最後一個聚焦元素是通過使用組件的DOM id設置一個變量。

如果組件的DOM ID在事件期間發生了更改(Wicket可以這樣做,但您不知道:)),則前端中最後一個關注的元素引用將變爲無效。