2014-06-05 39 views
2

我使用ajax的按鈕,在我的檢票應用該代碼是工作的罰款:檢票DisableComponentListener禁用整個頁面

@Override 
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { 
    super.updateAjaxAttributes(attributes); 
    attributes.getAjaxCallListeners().add(new DisableComponentListener(form)); 
} 

形式是標記一個組件:ID =「形式」。

但我想禁用呈現的整個WebPage對象,並呈現here所述的指標。用DisableComponentListener裏面的getPage()替換表單參數似乎沒有用起來。

回答

2

正如我在鏈接到的頁面上看到的,「禁用」表單的JavaScript代碼使用傳遞的組件的元素id(=標記id)在客戶端禁用它。

問題是頁面沒有標記ID。因此,您可以嘗試編輯您的JavaScript代碼以使用body元素,或者在層次結構的更高層添加自定義WebMarkupContainer,並將其傳遞給您的DisableComponentListener。

+0

感謝,但我怎麼能到達屬於我的網頁的父頁的WebMarkupContainer? – SoulMagnet

+1

你需要在你的超類中提供一個getter(在添加WebMarkupContainer as字段之後) – msparer