如何从控制台访问控件
How to access controls from a console
我试图从控制台中执行以下命令。
var subject = Xrm.Page.ui.controls.get("subject");
这正是我在插入CRM的web资源中使用的语法。然而,我只得到一个错误消息说,"无法获得属性'controls'的未定义或空引用"。
我确实理解这个信息。我想知道的是双重的。
- 什么语法将工作从控制台(F12)指的东西在屏幕上? 为什么它不像我那样工作?ui是从哪里来的?
我检查了我可以同时引用Xrm和Crm。Page但显然ui是null(当我打印出Page但设置为null时列出)。
我知道这是一个有点老的线程,但如果你仍然得到那个'对象不支持属性..从控制台执行命令时出现错误,IE F12;尝试从框架中调用它,例如
frames[0].Xrm.Page.getAttribute("controlId").getValue();
在CRM 2013中有一点不同
frames[1].Xrm.Page
在不同的浏览器中检测帧有点困难,所以这个小javascript可以帮助你:
for(var i=0;i<5;i++) //loop through 0 to 4
if(frames[i].Xrm.Page.ui != undefined) //check if undefined
{
Xrm = frames[i].Xrm; //assign Xrm
console.info("~: Xrm updated with frame " + i + " :~"); //show info
break; //breakout the loop
}
它所做的基本上是循环通过0-5找到帧
Xrm.Page.ui
不是undefined
,一旦它得到它,它将它分配给Xrm并打破循环。
如何使用
要使用它,只需复制/粘贴并在浏览器控制台运行一次会话之后,你可以运行/测试所有的Xrm代码从浏览器控制台。
这适用于我Xrm.Page.getControl("controlId")
。这只是你已经知道的一个快捷方式。can -disable-set-to-read-only-protect- grey -out-etc-a-field
除了@Daryl所说的,我还可以补充一点,我使用了不同的语法。不知道为什么,我也没办法让他工作。可能与不同的浏览器版本或其他有关。相反,如果你仍然不能让它工作(尽管我必须承认他更短=更好),试着执行这个。
Xrm.Page.getAttribute("lastname").getValue();
lastname部分在一分钟前创建实体Contact实例时进行了测试。我只是在脚本中放入了一个断点,该断点在onchange上执行,当断点指向时,我将上面的命令输入到控制台中。 如果这两种方法都不适合你,那么你的CRM或浏览器可能出现了一些奇怪的问题。
一些人需要这些信息的一个原因是访问他们自己的代码。如果你需要从控制台访问你自己的方法,在2011年,javascript中的任何全局方法(或名称空间)也在form[0]中。显然,从命名的角度来看,这是个坏主意。在forms v6+中,任何全局对象或函数都在一个名为customScriptsFrame的对象中,该对象位于框架[0](或者可能是Xrm找到的任何框架)内。
frames[0].customScriptsFrame.myFunctionName();
- 使用Jquery从MasterPage访问子页上的控件
- 使用 jquery 访问 Asp.net 控件(所有选项)
- 如何使用 <%=Control.ClientId%> 访问 javascript 中用户控件中的控件
- 从 aspx 页中的用户控件访问 ID
- 从父控制器 AngularjS 访问 Popup 控件
- 我们是否可以访问 UA 应该为 HTML5 表单 API 维护的无效控件列表
- 访问 Javascript/JQuery 函数中的控件
- 从iframe中访问父select2控件元素并设置其值
- 需要在加载时访问 java 脚本中的 asp.net 服务器控件
- 如何在没有“runat=server”的情况下访问 C# 代码中的 HTML 控件
- 如何使用 javascript 函数通过 ID 访问 asp 控件
- 如何访问位于同一文件中 js 中的数据列表中的控件 ID
- 如何通过客户端上的 JSProperties 访问 DevExpress ASPx 控件
- 如何在 JavaScript 中访问和设置服务器控件的值
- 使用 javascript 从内容页访问母版页控件
- 使用客户端访问位于列的页脚模板中的特定控件
- 如何在代码隐藏中访问控件的值,该值由 JavaScript 动态创建
- 如何使用jquery从asp.net的另一个页面访问控件
- 在ASP.NET中访问控件客户端名称而不是ID
- 如何从控制台访问控件