2012-02-22 60 views
1

我可以從update=":myComponent"中排除特定ID嗎?從更新中排除ID

我有一個較大的頁面(有幾個表格,輸入字段等),它被包裹在一個<p:panel id="outerPanel">。大多數時候,我只是執行update=":outerPanel",這很好。但現在我面臨一個問題,我必須更新頁面,除了一個表格。

如何從更新過程中排除該表(或通常的任何組件)?

+0

這是使用Primefaces嗎?你的「 JScoobyCed 2012-02-23 03:21:30

+0

是的它使用的是primefaces – membersound 2012-02-23 07:36:39

+0

設置輸入組件的禁用屬性會阻止JSF應用它的值,但不知道其他組件。我寧願提及具體的ID並在'update'中跳過表的ID以排除它。 – Nikhil 2012-02-23 11:24:22

回答

0

如果ID不刷新可以通過一些邏輯來確定(即:

​​

那麼你可以嘗試使用jsf.util.chain建設JSF電話:(注意這裏採用鑽嘴魚科JSF IMPL)

function myJsfSubmit(callerElement) { 
    var myIdsToSubmit = 'main-form:id-to-refresh-1 main-form:id-to-refresh-2'; 
    // put your logic to exclude the desired ID here 
    // ... 
    // then 
    jsf.util.chain(callerElement,null,'mojarra.ab(this,event,\'action\', 
     \'main-form:id_to-submit\',\'+ myIdsToSubmit +\')'); 
    return false; 
    } 

,並使用上述的onClick()或您的窗體或組件的onSubmit()功能:

<h:commandButton onclick="myJsfSubmit(this)" /> 
0

不,我認爲從facelet是不可能的。在服務器端,你可以操縱ajax請求,但我不認爲這是你想要的。

也許你的觀點允許圍繞要更新的零件包裝一些h:panelGroup