2011-04-18 136 views
1

我創建了一個javascript,其中我想根據某些條件隱藏功能區按鈕Reactivate Lead在CRM 2011中獲取功能區按鈕的ID

我通過按下F12表單上的lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large獲得了該按鈕的Id。

在JScript中,獲得該按鈕 -

document.getElementById("lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large"); 

,但我沒有得到這個按鈕,它給我空..我沒有得到什麼問題。如果有人提出建議,請告訴我。

謝謝

+0

CRM-2011功能區按鈕無法使用的Jscript隱藏返回布爾值按鈕的可見性。試試這個,而不是http://www.powerobjects.com/blog/2011/06/17/crm-2011-enabling-and-disabling-ribbon-buttons-2/ – 2012-05-25 15:09:45

回答

1

我還發現,如果你不document..之前使用window.top它並不總是工作。

我的代碼總是window.top.document等..開始

見下圖:

tabSave = window.top.document.getElementById("salesorder|NoRelationship|Form|Mscrm.Form.salesorder.MainTab.Save"); 
3

爲什麼你找回一個空值是因爲帶狀菜單顯示異步的原因。因此,如果在觸發表單的onload事件時嘗試檢索該按鈕,則該按鈕不一定會在DOM中。

盧克提供的鏈接將告訴你正確的方式來做到這一點。

2

這應該工作,但是你可能需要按住你的鼻子,而使用它

function HideARibbonButton(nameOfButton) { 
    var intervalId = window.setInterval(function() { 
     if (window.top.document.getElementById(nameOfButton) != null) { 
      window.clearInterval(intervalId); 

      //top menu has loaded 
      window.top.document.getElementById(nameOfButton).style.visibility = 'hidden'; 
     } 
    }, 100); 
} 
+0

好的答案,但:有一個缺少「}」在結束。 「功能」應該是「功能」。 – Skuli 2012-09-13 15:20:38

+0

好點子 - 更新,謝謝。 – glosrob 2012-09-13 19:49:23

0

你得到null,因爲色帶需要一些時間來顯示,所以你必須設置的時間間隔(將要執行的代碼例如每2秒),在其中放置代碼將隱藏按鈕。

或者,您可以顯示規則,控制依賴於由Java腳本函數

相關問題