在CRM 2011中获取功能区按钮的ID
问题描述:
我创建了一个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");
,但我没有得到这个按钮,它给我空..我没有得到什么问题。如果有人提出建议,请告诉我。
谢谢
答
您可以通过更改实体定制XML来隐藏CRM2011中的按钮。
在此看一看: http://gtcrm.wordpress.com/2011/02/23/hiding-a-ribbon-button-in-crm-2011/
答
我还发现,如果你不document..
之前使用window.top
它并不总是工作。
我的代码总是window.top.document
等..开始
见下图:
tabSave = window.top.document.getElementById("salesorder|NoRelationship|Form|Mscrm.Form.salesorder.MainTab.Save");
答
为什么你找回一个空值是因为带状菜单显示异步的原因。因此,如果在触发表单的onload事件时尝试检索该按钮,则该按钮不一定会在DOM中。
卢克提供的链接将告诉你正确的方式来做到这一点。
答
这应该工作,但是你可能需要按住你的鼻子,而使用它
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);
}
答
你得到null,因为色带需要一些时间来显示,所以你必须设置的时间间隔(将要执行的代码例如每2秒),在其中放置代码将隐藏按钮。
或者,您可以显示规则,控制依赖于由Java脚本函数
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