Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Form submit into opener window, отправка формы из нового в главное окно 
:(
    Опции темы
Merk
Дата 15.3.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



Есть ли возможность засабмитить форму в попап окне, указав в качестве таргета окно, из которого был открыт этот попап?

PM MAIL   Вверх
Ciber SLasH
Дата 15.3.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



opener.document.forms[0].submit();
PM   Вверх
12345c
Дата 15.3.2006, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Ciber SLasH, не то - это отправка формы из основного окна.

Как ни странно, во всех бр. сработал такой код:

Код
<script>qw=function(){w1=open('','','');
w1.document.write('<script>opener.name="t";<\/script>');
w1.document.write('<form action=JsPrimeryCode-68.htm target=t><input type=submit><\/form>');
w1.document.close();
}
</SCRIPT>
<input type=button onclick=qw() value=JsPrimeryCode-68.htm>


где JsPrimeryCode-68.htm - код другой страницы для проверки.
Т.е., приписываем окну name - и это будет его HTML-имя для target.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Ciber SLasH
Дата 15.3.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(12345c @ 15.3.2006, 22:27 Найти цитируемый пост)
Ciber SLasH, не то - это отправка формы из основного окна.

Я перепутал, подумал, что нужно засабмитить родительское окно. smile

Тогда так:
Код

<html>
<head>
<script type='text/javascript'>
onload = function () {
wnd = window.open("","MyWnd","");
wnd.document.write('<html><head></head><body><form action=\'javascript:alert("Меня засабмитили :)")\'></form></body></html>');
wnd.document.close();
}
</script>
</head>

<body>
<input type="button" onClick='wnd.document.forms[0].submit(); wnd.focus()' value="submit">
</body>
</html>

PM   Вверх
Merk
Дата 16.3.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



Спасибо за пример, он отработал, но я так пробовал уже и в моём случае он всё время открывается в новом окне. Вот код, возможно я что-то упустил?

Функция сабмитит форму из основного окна в попап (выполняется как надо):
Код

function postPopUp() {
    window.name = "mainWindow";
    document.getElementById('searchEDMSDocumentsForm').target= 'searchEDMSDocuments';
    edmsFormWindow= open('','searchEDMSDocuments', "width=900, height=700,resizable=no,scrollbars=yes");
    edmsFormWindow.document.title = "Please wait...";
    searchEDMSDocumentsForm.submit();
    edmsFormWindow.focus();
}


Попап (Постится правильно, но всегда в новое окно):
Код

<form id="edmsForm" method="post" action="<%=url%>" target=mainWindow>
  <textarea name="xml" type="text" style="width:850px; height: 200px;" class="textArea"></textarea>
  <input value="Submit" type="submit"/>
</form>

PM MAIL   Вверх
Ciber SLasH
Дата 16.3.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Покажи весь код, где элемент с именем searchEDMSDocumentsForm ?
Где код, который вставляется в popup-окно?
PM   Вверх
Merk
Дата 16.3.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



searchEDMSDocumentsForm - обычная форма из нескольких инпутов и она работает правильно.

Код попапа я написал, там тоже простая форма с текст ареей и сабмит по заданному урлу. Урл правельный, ибо отрабатывает все как положено. Одна проблема, он открывает новое окно, а не сабмитися в опенера.
PM MAIL   Вверх
Ciber SLasH
Дата 16.3.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Попробуй в BODY pupup-окна добавить onLoad="document.forms[0].target = self.name"
PM   Вверх
12345c
Дата 16.3.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Merk, Ciber SLasH, вы не видите это?

Цитата(12345c @ 15.3.2006, 22:27 Найти цитируемый пост)
w1.document.write('<script>opener.name="t";<\/script>');

Ключевое слово здесь - name
Добавлено @ 13:16
(Ciber SLasH, извиняюсь, но последний совет тоже неправильный.)
PM WWW   Вверх
Ciber SLasH
Дата 16.3.2006, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(12345c @ 16.3.2006, 13:14 Найти цитируемый пост)
Ciber SLasH, извиняюсь, но последний совет тоже неправильный

Почему, вот на примере работает:
Код

<html>
<head>
<script type='text/javascript'>
onload = function () {
wnd = window.open("","MyWnd","");
wnd.document.write('<html><head></head><body onLoad="document.forms[0].target = self.name"><form action=\'javascript:alert("Форма засабмитилась...")\'></form></body></html>');
wnd.document.close();
}
</script>
</head>
<body>
<input type="button" onClick='wnd.document.forms[0].submit(); wnd.focus()' value="submit">
</body>
</html>

PM   Вверх
12345c
Дата 16.3.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Работает. Так просили же сабмит не из главного окна в открытое, а наоборот - из открытого в открывшее.
PM WWW   Вверх
Ciber SLasH
Дата 16.3.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(12345c @ 16.3.2006, 13:35 Найти цитируемый пост)
а наоборот - из открытого в открывшее.

В таком случае, я об этом написал в первом посте. Там как раз наоборот smile
PM   Вверх
Merk
Дата 16.3.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



12345c, имя окну я задал при октрытии попапа
Код

window.name = "mainWindow";


даже проверил в попапе на onload body alert(opener.name); Вернулось именно то имя, которое я ему указал.
PM MAIL   Вверх
12345c
Дата 16.3.2006, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Merk, Интересно. Получается, что HTML, загруженный из другого файла, считает, что имени такого не существует (а JS знает такое имя), а сгенерированный (HTML и JS) - знает имя. А попробуй сгенерировать документ - у меня же пример работает, не открывает новое окно.

Это сообщение отредактировал(а) 12345c - 16.3.2006, 17:22
PM WWW   Вверх
Merk
Дата 16.3.2006, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



12345c, я скопировал твой скрипт к себе в систему. Попап открывается нормально, но по нажатию кнопки сабмит (в попапе) открылось новое окно, как и в случае моего кода.
У меня уже закончились идеи, с чем это может быть связано.

Это сообщение отредактировал(а) Merk - 16.3.2006, 17:48
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1934 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.