Доступ к элементам управления на странице, загруженной в IFrame в MS CRM 4.0 с использованием Javascript
-
06-07-2019 - |
Вопрос
У меня есть пользовательская страница aspx, загруженная в IFrame в одном из модулей в MS CRM 4.0. Эта страница в основном имеет 6 текстовых полей (txtValue1, txtValue2 и т. Д.) Со значениями в ней. Я хочу получить доступ к этим значениям через код javascript либо при загрузке, либо при сохранении. Кто-нибудь знает, как это сделать? Я пробовал пару кодов, которые я получил из сети, но ничего не работает. Любая помощь по этому вопросу будет оценена.
Решение
Попробуйте следующий фрагмент ...
var textBox1Value = document.frames.IFRAME_NAME.document.all.txtValue1.value;
где IFRAME_NAME - это имя IFRAME, которое вы определяете в настройках формы, а txtValue1 - это идентификатор текстового поля в IFRAME.
Другие советы
Одна небольшая ошибка, на которую стоит обратить внимание, это то, что доступ к iframe через коллекцию фреймов документа не позволит вам читать или записывать свойства src или url, которые я динамически изменяю время от времени. Чтобы получить доступ к свойствам и изменить их, вам нужно получить доступ к iframe через getElementById
.
var yourIframe = document.getElementById('IFRAME_NAME');
Обратите внимание, что если вы обращаетесь к iframe, как описано выше, и хотите вызвать функцию, доступную для сценариев iframe, вы должны вызывать ее через свойство contentWindow:
yourIframe.contentWindow.someFuncOnIframePage();