| t = window.parent.document.innerHTML; не работает... |
| 0 |
|
|
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.05.2008 1:27
Сообщ.: 313,
Visits: 2 982
|
|
| есть страница которая открывает новое окно. вопрос в том как в новом окне получить значения контролов старого окна(то которое открыло новое). t = window.parent.document.innerHTML; не работает...
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Надо пользоваться свойством window.opener
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.05.2008 1:27
Сообщ.: 313,
Visits: 2 982
|
|
| то что windows.opener это видно и из моего поста... вопрос как? скажем на родительской форме есть тэг: <input type=text id=tag1 value=...> как получить его значение из дочерней формы?
|
|
|
|
|
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
|
|
|
|
|
Supreme 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
|
|
|
|
|
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
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.05.2008 1:27
Сообщ.: 313,
Visits: 2 982
|
|
| спасибо базиль. еще такой вопрос: есть таблица (все чистный html) надо в одном из столбцов вывести значение полученное выше. лэйблов тут нет, так что код присвоения лэйблу полученного значения не пройдет. в то же время у <td> нет никакого значения по которому бы вывелась моя переменная, что-то вроде: document.Form1.td1.value=val1; потому вопрос, как это можно сделать?
|
|
|
|
|
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>
|
|
|
|
| | |