2013-03-20 8 views
4

Как вы получаете доступ к элементам управления html внутри iframe из javascript в CRM?Доступ к элементам управления HTML внутри iFrame

у меня есть:

var height = document.getElementById("IFRAME_TransactionProduct_RA").contentWindow.document.getElementById("txt").value; 

но что приводит к «Ошибка на странице» и содержимое не загружается.

Элемент Я хочу получить доступ является HTML вход с идентификатором «TXT»:

<input id="txt" type="hidden" /> 
+1

Вы хотите получить доступ из Iframe к элементу управления внутри формы CRM или управления внутри того же IFrame? –

+0

внутри страницы iframe aspx (это контроль на стороне клиента) – pnduke

ответ

4

Вот пример того, как вы скопировать значение из поля CRM для управления во встроенном управления HTML в IFRAME. Я предполагаю имена веб-ресурсов и поля. Вам придется адаптировать их. Вы также можете вставить try-catch в случае, если CRM выбрасывается за пределы исключения (получил шутку?), И, пожалуйста, помните, что я набираю код на своем телефоне, чтобы мог быть опечаткой где-нибудь (автокоррекция , yey).

var source = Xrm.Page.data.entity.attributes.get("oneCoolField") 
var information = source.getValue(); 

var customHtml = Xrm.Page.ui.controls.get("WebResource_EmbeddedHtmlContent"); 
var destination = customHtml.getObject().contentWindow.document; 
if(destination) { 
    var customControl = destination.getElementById("elementToAccess"); 
    if(customControl) { 
    customControl.value = information; 
    } 
} 

EDIT:

Это заставляет вас к веб-ресурсу.

var customHtml = Xrm.Page.ui.controls.get("WebResource_EmbeddedHtmlContent"); 

Это приведет вас к DOM IFRAME.

var destination = customHtml.getObject().contentWindow.document; 

Это приведет вас к элементу управления на пользовательской странице.

var customControl = destination.getElementById("elementToAccess"); 

Это дает вам содержимое элемента управления.

var contents = customControl.innerHTML; 

Какая часть неисправности на вашем компьютере?

+0

Я думаю, мне нужно уточнить вопрос. Я пытаюсь получить доступ к управлению на стороне клиента на странице iframe (файл aspx) с веб-ресурса javascript в CRM (который выполняется при событии загрузки страницы). – pnduke

+0

@pnduke Посмотреть мое редактирование. –

+0

вы можете просто загрузить JS в IFrame? –

Смежные вопросы