получение документа из открывающего окна
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



получение документа из открывающего окна Expand / Collapse
есть страница которая открывает новое окно....
Poll ResultsVotes
t = window.parent.document.innerHTML; не работает...
0%
0
Member Votes: 0, Anonymous Votes: 0. You don't have permission to vote within this poll.
Автор
Сообщение
14.06.2006 13:56
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.05.2008 1:27
Сообщ.: 313, Visits: 2 982
есть страница которая открывает новое окно. вопрос в том как в новом окне получить значения контролов старого окна(то которое открыло новое).

t = window.parent.document.innerHTML; не работает...

Сообщ. #898704
14.06.2006 14:05
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Надо пользоваться свойством window.opener
Сообщ. #898711
14.06.2006 14:38
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.05.2008 1:27
Сообщ.: 313, Visits: 2 982
то что windows.opener это видно и из моего поста...

вопрос как? скажем на родительской форме есть тэг: <input type=text id=tag1 value=...>

как получить его значение из дочерней формы?

Сообщ. #898718
14.06.2006 14:49
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
californis (14.06.2006)
то что windows.opener это видно и из моего поста...

Где? :) У тебя там window.parent.

californis (14.06.2006)
скажем на родительской форме есть тэг: <input type=text id=tag1 value=...>
как получить его значение из дочерней формы?

Например, так - window.opener.document.getElementById("tag1").value

Твой пример с document.innerHTML не будет работать так как у объекта document нет свойства innerHTML. Надо писать document.body.innerHTML
Сообщ. #898721
14.06.2006 14:57
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.05.2008 1:27
Сообщ.: 313, Visits: 2 982
спасибо базиль, я почему-то думал что у меня opener :))

в продолжении вопроса:

сделал так:

var t = window.opener.document.documentElement.outerHTML;

получил весь контент. а как из него выбрать значение определенного элемента? будет ли так правильно: var val1=t.GetElementByID("textbox").value

Сообщ. #898723
14.06.2006 15:19
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
californis (14.06.2006)
сделал так:

var t = window.opener.document.documentElement.outerHTML;

получил весь контент. а как из него выбрать значение определенного элемента? будет ли так правильно: var val1=t.GetElementByID("textbox").value

Нет, конечно. Переменная t это же строка (!), а функция getElementById есть только у объектов DOM. Надо так:
var doc = window.opener.document;
var val1 = doc.getElementById("textbox").value
Сообщ. #898729
14.06.2006 18:05
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.05.2008 1:27
Сообщ.: 313, Visits: 2 982
спасибо базиль.

еще такой вопрос: есть таблица (все чистный html)

надо в одном из столбцов вывести значение полученное выше. лэйблов тут нет, так что код присвоения лэйблу полученного значения не пройдет. в то же время у <td> нет никакого значения по которому бы вывелась моя переменная, что-то вроде:

document.Form1.td1.value=val1;

потому вопрос, как это можно сделать?

Сообщ. #898762
14.06.2006 18:36
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Вот пример, как вставить текст в ячейку таблицы:

<html>
<head>
<title>DOM test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
var i=0;
function insertText()
{
var valueToInsert = "Some new text"+i;
var td = document.getElementById("xxx");
if (null == td.firstChild)
{
var txt = document.createTextNode(valueToInsert);
td.appendChild(txt);
}
else
{
td.firstChild.nodeValue = valueToInsert;
}
i++;
}
</script>
</head>
<body>
<table>
<tr>
<td id="xxx"></td>
</tr>
</table>
<input type="button" value="insert text!" onclick="insertText()">
</body></html>
Сообщ. #898769
14.06.2006 19:08