javascript - Dynamics 365 Javascript 访问表单字段值

标签 javascript forms microsoft-dynamics webresource

<分区>

如何在 Dynamics 365 online 中使用 Javascript 访问表单字段值?这是我试过的:

一个脚本网络资源,带有一个在表单“load”上调用的“onload”事件。这是行不通的。我得到了 [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>

我要实现的目标: 具有基于表单字段值的动态“src”的 Iframe。

最佳答案

您可以缩短代码以访问表单字段值

Xrm.Page.getAttribute("new_dealercode").getValue();

但是,如果您要处理您需要使用的 OptionSet 字段(下拉选择)

Xrm.Page.getAttribute("new_dealercode").getSelectedOption();

它返回一个带有 textvalue 属性的 Option 对象(参见 MSDN )。
您会发现 Lookup 和 DateTime 字段的获取和设置更加复杂。

如果您需要检索 Lookup 属性的属性,您将处理一组具有属性 idnamelogicalname 的 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找到完整的引用。

关于javascript - Dynamics 365 Javascript 访问表单字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41769525/

相关文章:

javascript - 使用 Backbone.js 显示 Div

javascript - 访问模板内的对象数组

php - 表单注册没有收到错误

html - 使用嵌套的 HTML 表单,是否可以定位提交时传输的内容?

javascript - PubNub 退订会减慢整个 Web 应用程序的速度

javascript - 使用 VSCode 将常量重构为惰性常量

forms - 为什么 '#weight' 属性有时在 Drupal 表单中没有任何影响?

javascript - 从 Microsoft CRM 获取 guid id - javascript 控制台

crm - Dynamics 365 - IOrganizationService/Web Api

url - 'field' 类型的属性 'Microsoft.Dynamics.CRM.entity' 不是导航属性或复杂属性。只能展开导航属性