Главная страница и проблема JavaScript - PullRequest
0 голосов
/ 02 декабря 2010

Я подготовил файл aspx, который может открыть новое окно с помощью команды (window.open).В дочернем окне некоторые значения отправляются на родительскую страницу с помощью команды (.innerHTML), и она может закрыться сама.Однако после того, как я установил главную страницу на родительскую, команда не может отправить никакое значение из нового окна на родительскую и не может закрыться.

Как главная страница может повлиять на мои команды JavaScript?
Спасибо


РЕДАКТИРОВАТЬ: Драхенштерн (я делаю, что могус тем, что у меня есть ... это то, что он вставил)

Из дочернего кода:

<br> Page.RegisterStartupScript("CLOSE",
  "<...JS...><script type=\"text/javascript\">" +<br>
  "window.opener.document.getElementById('TableID').innerHTML = \"" + RadioNumber + "\";" +<br>
"window.opener.document.getElementById('HiddenTableID').value = \"" + RadioNumber + "\";  
<br>
self.close();" +
"<...JS....></script>"
);<br>

Родительская сторона:

<br>
..a ..<br>href="javascript:window.open('SelectTable.aspx','OPEN','toolbar=no,directories=no,status=no,titlebar=no,menubar=no,scrollbars=no,resizable=no,width=800,height=600,top=0,left=0,');"/>SelectSomthng<br>../a..

ВТОРОЙ РЕДАКТИРОВАТЬ: (снова Drachenstern) Может показаться, что это намерение

От дочернего кода позади:

Page.RegisterStartupScript("CLOSE",
  "<...JS...><script type=\"text/javascript\">" +
  "window.opener.document.getElementById('TableID').innerHTML = \""   + RadioNumber + "\";" +
  "window.opener.document.getElementById('HiddenTableID').value = \"" + RadioNumber + "\"; +
  self.close();" + "<...JS....></script>");

Родительская сторона:

/* drachenstern: notice I put the carriage returns for legibility, not in the original code*/
<a href="javascript:window.open(
'SelectTable.aspx',
'OPEN',
'toolbar=no,directories=no,status=no,titlebar=no,menubar=no,
scrollbars=no,resizable=no,width=800,height=600,top=0,left=0,'
);"/>SelectSomthng</a>

Ответы [ 2 ]

1 голос
/ 28 февраля 2011

, если вы хотите получить контроль над родительской страницей в дочернем окне и использовать главную страницу для родительской страницы ... тогда вы можете использовать следующую команду, чтобы получить контроль над типом ввода или любым другим типом, используя TagName

var collection=window.opener.document.body.getElementsByTagName('input')

alert(collection[o].id);  
alert(collection[1].id);
alert(collection[2].id);..... ext

Вы можете пройти через коллекцию и найти нужный идентификатор с помощью метода indexOf() и выполнить все, что захотите.

0 голосов
/ 02 декабря 2010

Из дочернего кода:
Page.RegisterStartupScript ("ЗАКРЫТЬ", "<... JS ...>" +
"window.opener.document.getElementById ('TableID'). innerHTML = \" "+ RadioNumber +" \ ";" +
"window.opener.document.getElementById ('HiddenTableID'). value = \" "+ RadioNumber +" \ ";" +
"Self.close ();" + "<... JS ....>" );

Родительская сторона:
..a ..
href = "javascript: window.open (« SelectTable.aspx »,« OPEN »,« панель инструментов = нет, каталоги = нет, статус = нет, заголовок = нет, menubar = нет, полосы прокрутки = нет, изменяемый размер = нет, ширина = 800, высота = 600, верх = 0, слева = 0, '); "/> SelectSomthng
.. / a ..

...