【问题标题】:How to access the <div> element / DOM object from the dynamics CRM form 2016如何从动态 CRM 表单 2016 访问 <div> 元素/DOM 对象
【发布时间】:2017-07-17 17:52:35
【问题描述】:

出于试用目的,我需要更改 CRM 动态 2016 中 CRM 表单通知元素的背景颜色。我知道它不受支持,但这是供最终用户试用的。 div元素详情如下-

<div class="Notifications Notifications-strict Notifications-strict-bottom" id="crmNotifications" style="height:; display: block;" size="3" maxheight="51">

我试过使用window.parent.getElementById('crmNotifications').style.backgroundColor;

但没有运气。我还听说无法从实体表单访问 DOM 元素。有什么办法可以改变背景颜色。

【问题讨论】:

  • 你说的是哪个 DOM?您是否尝试更改 CRM 产品黄色通知横幅的背景颜色?你能在浏览器开发工具栏中看到吗?尝试检查并设置颜色本身..
  • 您应该发布完整的代码,因为我刚刚检查过并且@Cavan Page 的答案正在运行,所以您遇到了其他问题。发布您正在使用的完整代码

标签: javascript dynamics-crm dynamics-crm-online dynamics-crm-2015


【解决方案1】:
document.getElementById("crmNotifications").style.backgroundColor = "blue"

【讨论】:

  • 对不起。无法从 crm 表单访问 DOM 元素。因此,我正试图找到一种方法来实现这一目标。
  • @Raghu 这个答案是正确的,我不明白 DOM 无法从 crm 表单访问是什么意思。这仍然是一个普通的网站,您可以随意修改 DOM,尽管它不受支持。我刚刚检查并在您调用 Xrm.Page.ui.setFormNotification 后放置此类代码将成功将背景更改为蓝色,因此如果它不适合您,您显然会在其他地方犯错
  • 抱歉,@Pawel Gradecki,我正在使用 CRM 2016(turbo 表单),因此除非我们关闭 turbo 表单并设置 - use Legacy,否则无法访问 DOM在 Dynamics CRM 的系统设置中,表单呈现为是。我已将旧表单渲染设置为是,它可以工作。
  • @Raghu 这也不是真的,你甚至可以使用涡轮增压表单。我相信你的问题是你试图从某种开发工具中运行它——这不起作用。但是,如果您从表单脚本运行它,它将正常工作。我刚刚在在线系统上检查了这个,所以我 100% 确定。如果它不适合您使用 turbo 表单,那么我仍然认为您做错了什么,但您没有发布完整的代码,所以很难说它是什么。
  • 为什么将其标记为答案,然后评论它不起作用?
【解决方案2】:

您需要创建一个 HTML Web 资源,将其添加到表单中并使用 window.parent 来访问 DOM。

例如:

<html>
 <head>
  <script>
    window.parent.document.getElementById("crmNotifications").style.backgroundColor = "blue"
  </script>
 </head>
 <body>
 </body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2019-04-04
    • 2016-06-22
    • 1970-01-01
    • 2017-05-24
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多