2013-07-24 120 views
3

所以我有一個3節的表格。我想要第1部分填充的功能比第2部分顯示等等。如何隱藏動態部分crm 2011

我知道JavaScript的基本代碼,但我不知道在哪裏使用它或如何調用它。 我用SHOW和HIDE函數做了一個web資源,現在我該如何調用它們。

我目前正在使用JAVA SCRIPT來隱藏各個部分,並在前者被填滿時顯示後面的部分。這是我的代碼。

function Hide() 
{ Xrm.Page.ui.tabs.get("yourtabname").sections.get("your section name").setVisible(false); } 
function Show() 
{ Xrm.Page.ui.tabs.get("yourtabname").sections.get("your section name").setVisible(true); } 

現在我知道Show()將獲得附加到表格第1部分的最後一個字段,但什麼Hide()功能?我會在哪裏調用它?

+1

請編輯您的問題,而不是添加評論 –

+0

所以你裏面的代碼是說你最初想要隱藏第2部分和第3部分?嘗試把它放在文件的加載事件中http://stackoverflow.com/questions/3880307/trigger-event-on-body-load-complete-js-jquery –

+0

使窗體上的所有3個部分不可見。在onload()使第1部分可見。那麼你將不得不在第1節中的字段的onchange事件中弄清楚,以確定第2節是否應該可見。第3部分基於第2部分相同等。 – keerz

回答

1

首先,我想這是一個個人喜好,但是我將有一個「驗證」功能,並確保你有你躲在第一部分之前所需的所有信息(如果他們先進入最後一個字段,例如會發生什麼?)

然後我只想做類似以下,並在部分調用它的所有領域:

function SectionOneField_OnChange() 
{ 
    if (IsSectionOneValid()) 
    { 
     Xrm.Page.ui.tabs.get("NextTab").sections.get("NextSection").controls.get(0).setFocus(); 
     Xrm.Page.ui.tabs.get("FirstTab").sections.get("SectionOne").setVisible(false); 
    } 
} 

邊注:由於使用JavaScript這可能不是微軟支持:-)

+0

感謝你們所有的答案/建議。我在哪裏可以在窗體上找到Onload事件來將腳本放在那裏? 現在我只能找到Onchange()事件,當我嘗試將其放在第1部分的最後一個字段上時 – hkhan

+0

@ user2609743要獲取表單事件(有OnLoad和OnSave),請單擊CRM功能區中的「表單屬性」。 – Campey

0

我們可以使用隱藏/顯示選項卡下面的代碼:

顯示:

Xrm.Page.ui.tabs.get("TabName").setVisible(true); 

隱藏:

Xrm.Page.ui.tabs.get("TabName").setVisible(false); 
+0

部分與Tab不同。 –