我创建了一个javascript,其中我想根据某些条件隐藏功能区Reactivate Lead
按钮。
我在表单上按F12 lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large
获得了按钮的ID。
在jscript中,获取该按钮 -
document.getElementById("lead|NoRelationship|Form|Mscrm.Form.lead.ReactivateLead-Large");
但我没有得到那个按钮,它给我空了..我没有得到什么问题。如果有人提出建议,请告诉我。
感谢
答案 0 :(得分:3)
检索空值的原因是因为功能区菜单是异步显示的。因此,如果在触发表单的onload事件时尝试检索按钮,则该按钮不一定在DOM中。
Luke提供的链接将向您显示正确的方法。
答案 1 :(得分:2)
您可以通过更改实体自定义XML来隐藏CRM2011中的按钮。
看看这个: http://gtcrm.wordpress.com/2011/02/23/hiding-a-ribbon-button-in-crm-2011/
答案 2 :(得分: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);
}
答案 3 :(得分:1)
我还发现如果你在window.top
之前没有使用document..
,那么它并不总是有效。
我的代码始终以window.top.document
等开头。
见下文:
tabSave = window.top.document.getElementById("salesorder|NoRelationship|Form|Mscrm.Form.salesorder.MainTab.Save");
答案 4 :(得分:0)
您将获得null,因为功能区需要一些时间才能显示,因此您必须设置一个间隔(例如,每2秒执行一次代码),您可以在其中放置将隐藏按钮的代码。
或者,您可以根据java脚本函数返回的布尔值显示控制按钮可见性的规则