Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2012, 19:10
Новичок на форуме
Отправить личное сообщение для mgluhov Посмотреть профиль Найти все сообщения от mgluhov
 
Регистрация: 16.07.2012
Сообщений: 2

Вызов функции дочернего окна
Привет! Как можно вызвать функцию, описанную в дочернем окне, из родительского? Делаю так:

var map = window.open('map.html','new','width=1300 ,height=500');
map.CreateRoute(resultstring);


так:

var map = window.open('map.html','new','width=1300 ,height=500');
map.window.CreateRoute(resultstring);


и так:

var map = window.open('map.html','new','width=1300 ,height=500');
map.document.CreateRoute(resultstring);


не работает. В google и яндексе только про вызов функции родительского окна из дочернего.
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2012, 20:02
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Нужно делать так, как в первом примере:
Сообщение от mgluhov
var map = window.open('map.html','new','width=1300 ,height=500');
map.CreateRoute(resultstring);
При этом можно получить доступ ко всем глобальным переменным в новом окне. У вас это не работает, скорее всего, потому, что когда вы выполняете map.CreateRoute документ в новом окне ещё не загрузился или скрипт ещё не выполнился.
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2012, 20:18
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

oneguy, позволю себе не согласиться с вами...ибо
var map;
function a() {
	map = window.open('b.html','new','width=1300 ,height=500');
}

function c() {
	map.document.getElementById("txt").value="123";
	map.focus();
}

<input type="button" value="1" onClick="a()">
<input type="button" value="2" onClick="с()">

тоже не работает (по нажатию на вторую кнопку ничего не срабатывает после полной подгрузки b.html)

mgluhov, попробуйте приделать нужную вам функцию к onLoad событию страницы map.html
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2012, 20:29
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

lord2kim, у вас не работает, потому что во втором инпуте в значении onClick использована русская буква "с" вместо английской
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2012, 20:35
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от oneguy Посмотреть сообщение
lord2kim, у вас не работает, потому что во втором инпуте в значении onClick использована русская буква "с" вместо английской
да действительно
но как вы объясните это?
var map;
function a() {
	map = window.open('b.html','new','width=1300 ,height=500');
	map.onLoad = ab();
}
function ab() {
	map.document.getElementById("asd").value="123";
	map.focus();
}

<input type="button" value="asd" onClick="a()">
<input type="button" value="asd" onClick="ab()">
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2012, 20:38
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от lord2kim
map.onLoad = ab();
onload нужно писать нижним регистром полностью. и скобки убрать
map.onload = ab;
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 16.07.2012, 20:39
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от devote Посмотреть сообщение
onload нужно писать нижним регистром полностью.
все равно не пашет)
хотя всегда пишу onLoad
Ответить с цитированием
  #8 (permalink)  
Старый 16.07.2012, 20:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от lord2kim
хотя всегда пишу onLoad
это вы в тегах пишите как хотите, а в JS регистр всегда имеет важную роль.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 16.07.2012, 20:45
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от devote Посмотреть сообщение
onload нужно писать нижним регистром полностью. и скобки убрать
map.onload = ab;
не пашет...

Сообщение от devote Посмотреть сообщение
это вы в тегах пишете как хотите, а JS регистр всегда имеет важную роль.
хм...странно...всегда писал onLoad, что в тегах, что в самих скриптах...
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2012, 20:59
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от lord2kim Посмотреть сообщение
не пашет...
У меня пашет в ИЕ, Фаерфоксе и Хроме. Каким вы браузером пользуетесь?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойной вызов функции Tmin10 jQuery 8 08.12.2011 15:19
Вызов функции TicTac Общие вопросы Javascript 2 24.01.2011 23:35
Вызов функции из другой функции.. ?? glutton Общие вопросы Javascript 3 21.08.2009 22:33
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
из дочернего окна вызывать методы родителського uzirig Общие вопросы Javascript 6 23.03.2008 12:33