как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы?
на странице открывается IFRAME в котором есть форма с текстареа полем
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? скажем нажал на смайлик и в текстареа (в iframe) добавилось ":)" |
это возможно, только если ифрейм создат ты, и страница там загружена с этого же домена...
|
допустим я создал Iframe
<iframe id="fr" src="test.htm" width="750" height="500" align="right"> там форма name='forma' и текстареа name='text' |
1) ZoNT, а если с другого домена то нельзя чтоли?
2) и как на своем домене? |
DeUre,
Документы с разных доменов не могут общаться друг с другом через JavaScript. Итак, по теме. Из родительского документа (в котором тег iframe) можно получить доступ к функциям и переменным из второго скрипта через конструкцию var iframeWindow = myIframe.contentWindow || myIframe.contentDocument.parent; И работать с iframeWindow нарямую, как с элементом window внутри самого test.htm. Т.е вызвать из родительского окна функцию можно будет просто вот так: iframeWindow.somefunc('bla-bla-bla'). Из фрейма вы можете получить доступ к родительскому скрипту через конструкцию window.parent. |
спасибо! попробую
|
у меня подобная проблема
в iframe загружаю страницу в которой: <body style="background: red"> потом делаю так: var iframeWindow = iframe.contentWindow || iframe.contentDocument.parent; var frmBody = iframeWindow.document.getElementsByTagName("body")[0]; frmBody.style.backgroundColor = "green"; но при этом цвет фона во фрейме не меняется на green. почему? заранее спасибо |
Ichigeki,
С одного домена документы? |
Андрей Параничев,
пока что на сервер не загружал, локально тестирую,но предполагается что буду на одном |
Мне вот интересно, как получить доступ к конкретной переменной родительского документа (если та находиться в глобальной зоне видимости, т.е. вне каких либо функций) из iframe-а и изменить её...
|
top.foo = 'bar'; |
Цитата:
Сам же пока догуглился до этого: window.parent.window.foo = 'bar'; Для будующих форум попавших сюда через поиск (как и я) поясню, что и документа и iframe/frame "своя" зона глобальной видимости переменных. Переменые в ней могут быть найдены в объекте window, соответсвенно из фрейма можно попасть в глобальную зону через window.parent.window. |
Цитата:
parent -- родительское окно top -- самое "верхнее" окно. Для одиночной вложенности фреймов parent == top. |
у меня противоположный вопрос, не стал плодить темы. Как из js в iframe передать значение переменной Values в главный документ в js. Оба на одном домене.
в iframe.html var Values=500; _____________________ а в index.html alert(Values); <iframe src ="iframe.html" width="100%" height="300" frameborder="0"> <p>Ваш браузер не поддерживает iframes.</p> </iframe> |
на самом деле все просто,
function test(){alert(Values);} |
Часовой пояс GMT +3, время: 08:24. |