Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Rodent от 05 Апреля 2004, 00:36:38
-
У меня вот такая ситуация.
Гостевая книга, добавление нового сообщения, неполный набор смайликов (при нажатии код вставляется в textarea, где собственно и набирается текст сообщения), ссылка на полный набор смайликов. при нажатии на ссылку открывается новое окно с помощью JavaScript, в котором выводяться уже все имеющиеся смайлики.
Теперь вопрос, как мне передать код смайлика на основную страницу со новой страницы?
-
window.opener в "новом окне" возвратит тебе главное окно. И передавай туда что хочешь, как обычно.
-
Хочу просто уточнить, что если окно модальное, то обращаться к нему через window.opener не получится, и вообще, во время активности модального окна нельзя. Надо тогда передавать через returnValue...
тут оно... в msdn (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodaldialog.asp)
-
CGVictor
А как это, обычно???
Я, конечно прошу прощения но с Java общаюсь пока на Вы и довольно-таки редко. Просто не могли бы вы мне дать код, как из нового окна со всеми смайликами, код выбранного смайлика перенести в форму сообщения.
на самой же форме я использую такой код.
при этом у меня определна форма Luxery
и все смайлики под ссылкой вида
img смайлика
-
Просто... из дочернего окна пишешь не, скажем, document.Lux... , а window.opener.Lux... и т. д.
-
Не получается...
Плиз...
Дайте готовый вариант.
-
Werwolf13
при замене на то что ты мне написал мне открывается окно с такой адресной строкой javascript:%20smile(\'%20:angel:%20\');
-
Вот мне еще интересно, я вообще правильно окно открываю
function smiles() {
var x = event.screenX - 150;
var y = event.screenY - 330;
var sFeatures = \'dialogLeft:\'+x+\'px;dialogTop:\'+y+\'px;dialogHeight:380px;dialogWidth:410px;help:no;status:no;unadorned:yes\';
window.showModelessDialog("smiles.php", window, sFeatures);
}
Все Смайлики
-
А... ну, понятно. С ModellesDialog эта техника не пройдет. Надо поступать иначе. Мы используем window, который ты передаешь при открытии окна. В функции в дочернем окне , где ты собираешься добавлять смайлик в родительское окно, напиши:
var x = window.dialogArguments; // -- это мы вытаскиваем второй параметр функции showModellesDialog(...)
x.document.Luxery.mess.value=x.document.Luxery.mess.value+ico;
// ну имей, конечно ввиду, что ico -- это иконка выбранная в этом (дочернем) окне
-
Werwolf13
я чего-то не догоняю. Давай разберемся...
я решил что лучше я пойду по такому пути, который ты предложил в первый раз (c window.open). Итак:
У меня гавное окно с некоторым количеством смайликов.
img смайлика и т.д.
в этом же окне форма с именем Luxery
на этой же странице скрипт
а так же ссылка на новое окно с полным количеством смайликов
Все Смайлики
В новом окне у меня полный список смайликов
img смайлика и т.д.
а так же скрипт
И теперь.
1. на главной странице код смайлика вставляется в форму сообщения
2. новое окно открывается со всеми заданными параметрами
3. с вторичного окна смайликов (всех смайлы) НЕ ВСТАВЛЯЕТСЯ код смайлика на основной странице в форму.
Вопрос. что я делаю не так???
-
1. window.opener.document.Lux....
2. Старайся избегать конструкции href="javascript: ... лучше пиши:
href="#" onclick="smile(...)" ...
-
Werwolf13
не работает, даже со всеми изменениями.
Итак вопрос ко всем кто знает с чем это едят...
Основная страница
У меня основной документ это форма с именем Luxery и полем textarea с именем mess. Так же есть смайлики которые выглядят так img смайлика и т.д. Плюс сам java script
здесь же ссылка на открытие нового окна Все Смайлики
Дополнительная страница
Когда новое окно открывается, в нем все имеющиеся смайлики img смайлика и т.д. плюс вот такой java script
Результат
- в основном окне код смайлика добавляется
- новое окно открывается
- в основное окно НЕ ВСТАВЛЯЕТСЯ код смайлика из дополнительного окна
Вопрос
- В чем проблема?
- Что я делаю не так??
-
файл main.html:
файл successor.html:
press...
Все проверено, все стреляет...
-
Этот способ работает только в ослике. А как сделать тоже самое для других броузеров?