Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Доступ к фреймам


Автор: starmaster 2.2.2005, 15:50
У меня следующая структура фреймов:
Код

<html>
<head>
</head>
<frameset rows="45,*,70">
<frame name="top" src="top.php">
<frameset cols="750,*">
<frame name="main" src="main.php">
<frame name="users" src="users.php">
</frameset>
<frame name="send" src="act3.php">
</frameset>
</html>

В документе main.php есть таблица с id=myTable, нужно получить доступ к этой таблице из документа act3.php. Вот что необходимо вписать в эту строку, чтобы получить такой доступ?
Код

var x=document.getElementById('myTable').insertRow(0)


Заранее благодарен!

Автор: sergejzr 2.2.2005, 15:58
Код
var x=parent.main.document.getElementById('myTable').insertRow(0);

попробуй.

Автор: starmaster 2.2.2005, 23:31
sergej.z
ОК, всё работает! Но возник ещё один маленький вопрос касающийся навигации по фреймам: как из одного документа фрейма обновить (Refresh) другой документ фрейма?

Автор: sergejzr 2.2.2005, 23:42
Просто src посади ещё раз smile

Код

parent.main.src=parent.main.src;

Автор: starmaster 3.2.2005, 14:20
А как в фреймах сделать тогда невидимую перезагрузку невидимого фрейма? (т.е. без мерцания на status bar'e)...

Автор: sergejzr 3.2.2005, 15:44
Это JS не регулируется smile

Автор: starmaster 7.2.2005, 20:16
Ещё один вопрос по путям (возник только что)... у меня попап smiles/index.php, надо при клике на смайл добавлять какой-нибудь текст в другой документ (с фреймами) в <input type="text" name="some_name"> Ответ на этот вопрос в принципе я видел в какой-то темке, но там документ со смайликами находился внутри главного документа, а у меня документ со смайлами открывается при клике на кнопку...

Автор: Sardar 7.2.2005, 22:22
Обращайся к window.parent.document.getElementById, либо к top.document, либо top.frames.myframe.document, в зависимости что у тебя за окна/фреймы и т.д.

Лучше из дочернего окна не работать с элементами родительского, проще сделать в родительском сервисную функцию и вызывать её из дочернего.

Автор: starmaster 8.2.2005, 00:42
Sardar
Неа, не получается вставить smile Объясню подробнее что я делаю (структура фреймов у меня почти такая как написано в перов посте): в нижнем фрейме у меня такая функция
Код

function openwind() {
window.open("top.php?act=smiles", "smiliki", "width=410, height=420");
}
...
<button onClick="openwind();" style="border:solid navy 1pt; background:lightyellow; width:20pt;">:o)</button>

В верхнем же:
Код

function addsmile(text)
{
top.frames['send'].document.forms['formto'].elements['chat_tex'].value += ' ' +text+ ' ';
}
...
<a href="javascript:addsmile(':)')">Test</a>


И нефига не работает smile

Автор: Aliance 8.2.2005, 15:31
function addsmile должна добавлять текст в верхнем фрейме?

Автор: starmaster 8.2.2005, 19:31
Aliance
Нет, функция addsmile находится в верхнем фрейме, документ в верхнем фрейме (top.php?act=smiles) запускается из нижнего (это сделано потому что в верхнем фрейме меньше кода и легче вставить туда код попапа). Функция openwind находится в документе нижнего фрейма!

Автор: Aliance 8.2.2005, 19:52
Ничего не понял. Ты мне не рассказывай все (а вообще-то код писать надо smile ), скажи в какой фрейм будет писаться <a href="javascript:addsmile(':)')">Test</a>

Автор: starmaster 8.2.2005, 20:46
Цитата(Aliance @ 8.2.2005, 19:52)
Ничего не понял. Ты мне не рассказывай все (а вообще-то код писать надо smile ), скажи в какой фрейм будет писаться <a href="javascript:addsmile(':)')">Test</a>

В нижний фрейм! (а ссылка в свою очередь будет в попапе)...

Или расскажи хотя бы как добавлять смайлы из внешнего попапа...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)