如何在线使用Dynamics 365中的Javascript访问表单字段值?这就是我尝试过的:
带有" onload"的脚本网络资源;在表格上调用的事件" load"。这不起作用。我得到[Object object]
但我希望有一个字符串。调试它不会显示具有字段值
function loadForm()
{
var value1 = Xrm.Page.data.entity.attributes.get("new_dealercode").getValue();
alert(value1);
}
我在表单中包含的HTML网络资源,这没有任何作用,但我知道它被调用,因为如果我对其发出警报,则会收到警报。
<html>
<head>
<script type="text/javascript">
var value1 = window.parent.Xrm.Page.getAttribute("new_dealercoder").getValue();
alert(value1);
</script><meta charset="utf-8">
</head><body><br></body>
</html>
我想要实现的目标: 具有动态&#34; src&#34;的iframe基于表单上的字段值。
答案 0 :(得分:1)
您可以缩短代码以访问表单字段值
Xrm.Page.getAttribute("new_dealercode").getValue();
如果您要处理OptionSet字段(下拉选择),则需要使用
Xrm.Page.getAttribute("new_dealercode").getSelectedOption();
返回具有text
和value
属性的Option对象(请参阅MSDN)。
您会发现Lookup和DateTime字段的获取和设置更加复杂。
如果需要检索Lookup属性的属性,则需要处理包含属性id
,name
和logicalname
的EntityReferences数组。
要获取id
,请访问数组中的第一个元素:
var dealerobj = Xrm.Page.getAttribute("new_dealercode").getValue();
var dealerid = dealerobj[0].id;
小心!您可能希望通过检查空值来强化您的代码!
关于第二个问题,您可以使用
访问iframe
表单控件的来源
Xrm.Page.getControl("your_control_name_here").setSrc("$webresources\new_your.html")
从MSDN Client-side programming reference开始查找完整参考资料。