Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 6

Как из всплывающего окна отправить данные через родительское?

07.05.2012, 21:57. Показов 3570. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые гуру JS!

Идея такова: есть форма с кнопкой, по нажатию на которую, должна появиться форма во всплывающем окне. Форма - 4 радиокнопки и кнопка "ок", по нажатию на Ок закрывается всплывающее окно и данные о выбранной радиокнопке отправляются в обработчик указанный в родительской форме.

В сети нашел парочку рабочих решений (ниже),НО

По 1-ому решению - данные выводятся в родителе через alert(), не пойму что изменить, чтоб данные шли не в алерт а отправлялись на обработчик.
По 2-ому решению - данные отправляются через обработчик родителя, всё как надо мне, но единственная загвоздка - отправляются данные из инпута родителя, а мне надо из всплывающего окна.

Прошу помощи, заранее СПАСИБО!

№1 Решение
Два файла:
Родительское
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type='text/javascript'>
function Go() {
    var val=window.showModalDialog('tmp.html')
    alert(val)
}
</script>
</head>
<body>
    <input type='button' value='Go' onclick='Go()'>
</body>
</html>
и Дочернее:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
<title>Test</title> 
<script type='text/javascript'>
function Send() {
    var val=document.getElementById('data').value
    window.returnValue=val
    window.close()
}
</script>
</head>
<body>
    <form>
        <input type='text' id='data' />
        <input type='button' value='Send' onclick='Send()' />
    </form>
</body>
</html>
---------------------------------------------
№2 Решение
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html><head><title></title></head><body>
 
<form id="forma" onsubmit="alert('sumbitted...');" action="customer3.html" method="GET">
<input type="textarea" name="text" value="javascript window opener"/>
    <input type="button" name="btn" value="button" onClick="win_open(this.form.id)"/> <br>
</form>
     
<script type="text/javascript" language="javascript">
function submitForm(id) {
    var form = document.getElementById(id);     
    if (form!=null) {
        form.submit();
    }
}
 
function win_open(formId){
    windop=window.open("","mywin","width=200,height=120");
    
    windop.document.write("<html><head><title>.....Demo window.....</title></head><body text='#ffffff'><center>");
  windop.document.write("<input type='button' value='Закрыть' onClick=\"window.opener.document.getElementById(\'"+formId+"\').submit();window.close()\">")
    windop.document.write("</center></body></html>");
    
    windop.document.close();
}
</script>
 
</body></html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.05.2012, 21:57
Ответы с готовыми решениями:

Как пердать данные из формы дочернего окна в уже открытое родительское!!
Суть в следующем: Имеется окно с формой. Данные из формы передаются в новое окно(window.open...) в котором тоже есть форма. Как передать...

Как скопировать данные из всплывающего окна
Всем привет. Народ, столкнулся вот с какой проблемой. Есть некая система, в которой собраны данные по заявкам от клиентов: ...

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

2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
08.05.2012, 04:04
Когда клиент заполнит поля формы в дочернем окне и нажмёт на кнопку сабмита, необходимы две вещи - какое-то время для процесса этого сабмита (чтобы данные ушли на сервер) и окно, в которое придёт ответ от сервера (куда загрузится файл, указанный в атрибуте ACTION тега <FORM>).
Значит, закрывать дочернее окно СРАЗУ по нажатию кнопки сабмита НЕЛЬЗЯ, ибо тогда никакого сабмита просто не будет - и времени не хватит, и окно исчезнет.
Закрыть дочернее окно может (и должен) скрипт, прописанный в файле, который загрузится в дочернее окно после сабмита формы (тот самый файл, который должен быть указан в атрибуте ACTION тега <FORM> - а у вас там ничего нет).


Всё понятно?
Успехов!
0
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 6
08.05.2012, 09:10  [ТС]
Спасибо kalabuni за вразумительный ответ!

Мысль понял, но мне надо проще, без ожидания ответа от сервера, только отправка точно также как во втором решении, вопрос в том как отправить тот же инпут (javascript window opener) только не с родительского а с всплывающего

спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.05.2012, 09:10
Помогаю со студенческими работами здесь

Как отправить данные json через HttpURLConnection
Здравствуйте! Мне нужно работать с АПИ из приложения. Использую HttpURLConnection URL url = new URL(apiHost); ...

Как отправить данные на url через сокет и получить ответ
Подскажите пожалуйста как отправить данные на url и получить ответ, а то у меня что то не очень хорошо получается. Заранее благодарю.

Как отправить данные местоположения через ACTION SEND в приложении android?
Здравствуйте!На этом сайте ССЫЛКА я нашел решение для определения своего местоположения. Переменные,в которых находятся координаты...

Как мне через ajax отправить данные если много форм
Доброго времени суток! Существует одна проблемка. Есть одна форма которая создаёт игры, а есть таблица в которой много форм по мере...

Как отправить данные фотографии и текст. полей через ajax в файл .php
Пробую через ajax передать данные фотографий и текстовых полей.. (имени.. фамилии т.д).. пробую в data писать это data: ({name: name,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru