Я добавил ресурс html в мою контактную форму, содержащую только небольшое изображение, чтобы разместить его рядом с полем контакта. Когда пользователь нажимает на него, он запускает функцию javascript, в которой я хочу получить значение определенного поля формы. Поле является атрибутом контактного объекта. Вот HTML веб Ressource:Dynamics CRM 365 - Не удается получить доступ к Xrm.Page.entity в веб-ресурсе HTML
<html>
<head>
<style type="text/css">
body
{
margin: 0;
padding: 0;
}
</style>
<script type="text/javascript">
function call() {
var phoneNumber = window.parent.Xrm.Page.getAttribute("mobilephone").getValue();
}
</script>
<meta>
</head>
<body style="word-wrap: break-word;">
<img onmouseover="this.style.cursor='pointer';" src="/webresources/new_/image/image.png" onclick="call()">
</body>
</html>
Я пытался также получить данные следующим образом:
window.parent.Xrm.Page.data.entity.attributes.get("telephone1").getValue()
Но это не работает, либо: не могут читать объект пустых
Проблема заключается в том, что getAttribut возвращает null, несмотря на поле объекта, которое я хочу получить. Это всегда undefined У кого-то есть идея?
Что-то не так, оба образца кода, которые вы предоставляете, должны работать нормально. Поместите оператор отладчика в свою функцию вызова, откройте инструменты разработчика в своем браузере и нажмите кнопку вызова. Затем, в инструментах dev, когда вы нажмете на отладчик, проверьте window.parent.location. Является ли значение, которое возвращает то, что вы ожидаете? Также проверьте window.parent.Xrm.Page. Он должен иметь метод getAttribute и свойство данных. Этот тип расследования может выявить некоторую ошибку. Кроме того, возникает ли ошибка во всех браузерах одинаково? – Polshgiant