![](/img/trans.png)
[英]How can I get the value of a lookup field by javascript in Microsoft dynamics crm 365
[英]How to set a Dynamics CRM/365 field with Base64String value in JavaScript
我想使用文档的基数64字符串值设置“ base64string”,然后稍后再使用该值并将文档加载到sharepoint(我已经有了通过控制台应用程序进行操作的c#代码)。
我的以下代码似乎无法正常工作,基本上从未设置过该值,base64string字段是一个包含100万个字符的多行。
<html>
<head>
<meta charset="utf-8">
</head>
<body>
Please select a file and then hit Evaluate:
<br/>
<input id="file" type="file" />
<button id="button">Upload
<script>
document.getElementById('button').addEventListener('click', function() {
var files = document.getElementById('file').files;
if (files.length > 0) {
getBase64(files[0]);
}
});
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
Xrm.Page.getAttribute("base64string").setValue(reader.result);
};
reader.onerror = function (error) {};
}
</script>
</body>
</html>
在Xrm.Page.getAttribute("base64string")
,您确定base64string
是字段名称吗? 如果它是一个自定义字段,则应具有一个前缀,例如abc_base64string
。
而且,HTML Web资源无法直接访问Xrm.Page
。
添加到表单的HTML Web资源不能使用由表单中加载的JavaScript库定义的全局对象。 HTML Web资源可以通过使用parent.Xrm.Page或parent.Xrm.Utility与表单中的Xrm.Page或Xrm.Utility对象进行交互 ,但是由表单脚本定义的全局对象将无法使用父级进行访问。
我相信您的代码应该看起来像这样:
reader.onload = function () {
parent.Xrm.Page.getAttribute("abc_base64string").setValue(reader.result);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.