Доступ к элементам управления на странице, загруженной в IFrame в MS CRM 4.0 с использованием Javascript
У меня есть пользовательская страница aspx, загруженная в IFrame в одном из модулей в MS CRM 4.0. Эта страница в основном имеет 6 текстовых полей (txtValue1, txtValue2 и т. Д.) Со значениями в ней. Я хочу получить доступ к этим значениям с помощью кода JavaScript либо на событие загрузки или сохранения события. Кто-нибудь знает, как это сделать? Я попробовал пару кодов, которые я получил из сети, но ничего не работает. Любая помощь по этому вопросу будет оценена.
2 ответа
Попробуйте следующий фрагмент...
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();