2013-02-20 5 views
4
  • У меня есть страница customer.jsp с iframe.
  • iframe имеет кнопку. при нажатии кнопки мне нужно открыть диалоговое окно, которое находится внутри страницы customer.jsp.
  • Я пробовал window.parent.document.getElementById('formDialog');, но получаю null значение.
+0

У вас есть 500 правильных ответов, выберите один –

ответ

0

Вы можете получить доступ к родительскому окну элементов через parent.document.getElementById('formDialog');

Если вы получаете нуль вы можете получить этот элемент в контексте этого IFrames родителя? Вы ссылаетесь на правильный идентификатор и правильный родитель?

2

Связь между iframe и родительским документом невозможна для ресурсов перекрестного происхождения. Он будет работать только в том случае, если iframe и содержащая страница принадлежат одному и тому же хосту, порту и протоколу - например. http://example.com:80/1.html и http://example.com:80/2.html

Assuming both resources are from the same origin 

В фрейме, window.parent относятся к глобальному объекту родительского документа, а не сам документ объекта. Я считаю, что вам нужно будет использовать parent.document.getElementById('formDialog')

0

похоже, что вы что-то забыли в своем коде. попробуйте это:

window.parent.window.document.getElementById('formDialog'); 
6
window.parent.document.getElementById('target'); 

оба ресурса должны быть того же происхождения

0

Попробуйте это. Надеюсь это поможет. Предположим, что у меня есть функция CallParentFunction от нажатия кнопки кнопки в iframe.

function CallParentFunction(){ 
    if (top && top.opener && top.opener.top) { 
     top.opener.document.getElementById('formDialog'); 
    } 
     else { 
     top.document.getElementById('formDialog'); 

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