Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   передача знчачения на дочернюю форму (https://javascript.ru/forum/events/13346-peredacha-znchacheniya-na-dochernyuyu-formu.html)

slivka_83 27.11.2010 13:00

передача знчачения на дочернюю форму
 
Добрый день.

Имеется такой код:
var objRet = openStdDlg(prependOrgName(url), null, 430, 430);

Функция openStdDlg (доступа к самой функции у меня нет) открывает модальное диалоговое окно с определенной страницей. Мне нужно передать на эту страницу значение. Пытался отредактировать страницу, которая открывается в модальном окне и добраться до родительской через opener. Но opener оказался пустым.

Помогите пожалуйста (либо передать на дочернюю страницу определенное значение, либо на дочерней получить значение с родительской) :)

`p r o x y 27.11.2010 14:07

В модальном окне, скорее ж всего, iframe?
В таком случае найти его и работать.

Примерно так:
var iframe = document.getElementsByTagName('IFRAME').[0]; // но лучше по id найти node мод.окна и уже в нем искать iframe
var iframeDoc = iframe.contentWindow || iframe.contentDocument.window; // это объект document страницы, которая в iframe
iframeDoc.newVarInIFrame = 'value'; // создание глобальной переменной внутри iframe

slivka_83 27.11.2010 14:18

Что значит iframe? :) открывается новое окно (модальное) :)

`p r o x y 27.11.2010 16:26

Модальное окно - это псевдо окно на текущей странице. Например div оформленный ввиде окна, в котором какой нить контент - например, iframe и в нем другая страница.

Если под модальным окном подразумевали новое коно браузера. Тогда хз как получить ссылку на окно. По мойму нет варианта получить список всех окон ....

iframe это...
основы JavaScript

dmitriymar 27.11.2010 17:48

ну положи на род окне нужное значение в фрейм и обращайся к нему.или на доч. окне бери содержимое(насколько я понимаю нужна переменная) какого нибудь невидимого фрейма в род окне-клади в фрейм на доч окне и работай. а по другому-только через сервер

slivka_83 27.11.2010 18:29

Да не фрейм это. Это модальное окно браузера. Которе програмно открывается с другой страницы, но почему то не содержит opener.
А мне нужно разместить скрипт в этом модальном окне и подтянуть значение со страницы с которой он вызван.

dmitriymar 27.11.2010 20:34

ну дак подробнее прочти документацию о дочерних формах. по крайней мере то что в книгах у себя нашел-можно только перекидывать из форму в форму содержимое какого либо тега.для этого все тебе и говорят -используй iframe

slivka_83 27.11.2010 20:51

А можно поподробнее про "используй iframe"?
И напомню то что сказал в первом сообщении: новое окно вызывается по кнопке функцией:
var objRet = openStdDlg(prependOrgName(url), null, 430, 430);

К этой функции у меня нет доступа. Я могу всего лишь добавить JS на исходныую страницу и на ту что открывается в новом окне.

dmitriymar 27.11.2010 21:25

с исходной ты можеш добавить на дочернюю-почитай про окна там всё это есть. и с исходной в дочку и с дочки в исходную(много где пишется что можно и переменную-нигде ни одного примера не нашел) набери в гугле iframe и тебе раннее пркси дал ссылку на учебник этого сайта

slivka_83 27.11.2010 22:01

еще раз повторяю... нет у меня никаких iframe'ов!!! Функция открывает новое окно БРАУЗЕРА (причем модальное), а не подгружает страницу в iframe. поэтому мне не понятно что мне искать в гугле ...

dmitriymar 27.11.2010 22:03

разницу между frame и iframe знаеш?

`p r o x y 27.11.2010 22:05

slivka_83,
Что значит "новое окно БРАУЗЕРА (причем модальное)" - что это за окно такое?
Окна браузера бывают - одни единственные. Различается только вариант с панелью инструментов и адресной строкой и без.

var objRet = openStdDlg(prependOrgName(url), null, 430, 430);

Что возвращает функция?
Глянуть так например:
var objRet = openStdDlg(prependOrgName(url), null, 430, 430);
alert(objRet);

dmitriymar 27.11.2010 22:19

модальное окно-это окно открытое программно из родительского окна-такое определение во многих учебниках по скрипту для таких окон. хотя конечно в стандартном понимании(в других языках)-это абсолютно другое

ksa 27.11.2010 22:21

Цитата:

Сообщение от dmitriymar
модальное окно-это окно открытое программно из родительского окна

Это типа определение? :lol:

`p r o x y 27.11.2010 22:21

И почему оно модальное? Если просто новое окно браузера. А в данном случае дочерное.
Модальное окно, имхо, это вариант элемента на странице ввиде окна.

ksa 27.11.2010 22:27

Цитата:

Сообщение от `p r o x y
Модальное окно, имхо, это вариант элемента на странице ввиде окна.

Если это элемент - это уже не окно.
Варианты именно модальных окон:
- alert()
- prompt()
- confirm()
- showModalDialog()
Остались дочернее open() или обычные элементы просто похожие на окно внешне.

dmitriymar 27.11.2010 22:31

попробуй передать данные в строке адреса. не знаю прйдёт ли в дочерних окнах. или через сookie-точно получиться. записываеш в куки данные какие хочеш передать дочке. создаёш дочку и из неё считываеш из куков.

dmitriymar 27.11.2010 22:32

Это типо определение под дочернее окно какое мне попадалось в нескольких книгах)) а с ksa согласен по поводу тех что он перечислил что именно они модальные)

`p r o x y 27.11.2010 22:33

Цитата:

Остались дочернее open() или обычные элементы просто похожие на окно внешне.
Ну да, забыл написать, что это псевдо модальное окно.

А:
Цитата:

- alert()
- prompt()
- confirm()
Ну, это уж лучше звать как "окно сообщения" или "диалоговое окно", в этом случае название информативней. Хотя, и модальным можно назвать, че уж там, суть та же.

dmitriymar 27.11.2010 22:38

Вобщем вариант передачи данных через куки возражений не вызвал. проулыбаюсь если у него данные больше 4 кв.и у некоторых клиентов куки будут отключнены...

ksa 28.11.2010 12:48

Цитата:

Сообщение от `p r o x y
Ну, это уж лучше звать как ...

Не стоит придумывать какие-то свои названия тому, что уже назвали. Иначе будет как минимум путаница... :nono:


Часовой пояс GMT +3, время: 23:47.