Доступ к элементам управления на странице, загруженной в IFrame в MS CRM 4.0 с использованием Javascript

StackOverflow https://stackoverflow.com/questions/188621

Вопрос

У меня есть пользовательская страница 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();  
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top