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

Поиск:

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


Эксперт
***


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

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



Интересно было бы взглянуть на примерный шаблон того, что ты пытаешься сделать. А то я что-то вообще запутался что тебе нужно и как...
PM   Вверх
Merk
Дата 16.3.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH, всё давольно просто, есть система учёта контрактов, на каждом конкретном контракте есть список документов. Ты нажимаешь кнопку поиска новых документов и система открывает попап с некоторой внешней системой и передаёт в него параметры, необходимые для того, чтобы идентифицировать этот контракт при возврате. Там ты находишь нужный документ, нажимаешь добавить и он постится обратно в окно с основной системой.

Всё работает, кроме того, чтобы запостить именно в то окно, из которого был открыт попап, в место этого, из попапа открывается новое окно.

Это сообщение отредактировал(а) Merk - 16.3.2006, 18:43
PM MAIL   Вверх
Ciber SLasH
Дата 16.3.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Merk @ 16.3.2006, 18:42 Найти цитируемый пост)
открывает попап с некоторой внешней системой

Контент в этот popup как засовывается? Открывается ссылка в popup-е или document.write-ом пишется?
PM   Вверх
12345c
Дата 16.3.2006, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


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

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



Merk, какая версия, не IE SP2 ? У меня работало во всех, а тут явно исключение. Проверьте в других бр.
PM WWW   Вверх
Ciber SLasH
Дата 17.3.2006, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вот, в качестве подтверждения, что opener.document.forms[0].submit(); (о чём я писал в первом посте) работает — накатал такой примерчик:
Код

<html>
<head>
<script type='text/javascript'>
onload = function () {
    if (location.search.indexOf("wnd_open") == -1) {    // если popup-окна ещё нет
        var wnd = window.open("","MyWnd","");
        wnd.document.write(
            '<html><head>\n'+
            '<script type=\'text/javascript\'>\n'+
            'function mainWndSubmit() {\n'+
            'var fm = opener.document.forms[0];\n'+
            '    fm.elements["wnd_open"].value = "1";\n'+
            '    fm.submit();\n'+
            '}\n'+
            '<\/script>\n'+
            '</head><body>\n'+
            '<input type="button" onClick=\'mainWndSubmit()\' value="Отослать форму в родительском окне">\n'+
            '</body></html>'
        );
        wnd.document.close();
    } else {
        var logs = document.getElementById("log");
        var count = location.search.match(/count=(\d+)/)[1];    // количество отсылок формы
        logs.innerHTML = "Количество отсылок формы: " + count;
        document.forms[0].elements["count"].value = ++count;    // увеличиваем счётчик
        document.forms[0].elements[3].focus();
    }
}
</script>
</head>

<body>
<form method="GET">
Проверочный флаг: <input type="checkbox" name="flag"><br><br>
<input type="hidden" name="wnd_open" value="0">
<input type="hidden" name="count" value="1">
<input type="submit" value="submit">
</form>
<div id='log'></div>
</body>
</html>

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


Круглый
****


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

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



Ciber SLasH, да, у меня тоже работает, как и мой аналогичный пример из (выше).

Merk, а у тебя как будет?
PM WWW   Вверх
Sardar
Дата 8.4.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Не правильная логика, лучше построить форму содержащую одни скрытые элементы в родительском окне сразу, а из дочернего поставить значения и отправить. Для ИЕ конечно сработает и такой вариант (принцип идеентичен решению от 12345c):

Код
<!-- в родительском -->
<script type="text/javascript">
<!--
self.name="parent_window";
//-->
</script>
<a href="./form.htm" target="_blank">Test</a>


Код
<!-- в дочернем -->
<script type="text/javascript">
<!--
  //что бы увидеть как параметр передался
  var res =/test=([^ ]+)/.exec(location.search);
  if(res) document.write("Param: <b>"+res[1]+"</b>");
//-->
</script>
<!-- собсно указали имя заданное в родительском -->
<form action="./form.htm" method="GET" id="form" target="parent_window" onsubmit="window.setTimeout('self.close()', 500); return true;">
<input type="text" name="test">
<input type="submit" value="Send">
</form>

Но мозилла такой финт ушами проигнорирует и форма будет загружена в дочернем окне.


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


 




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


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

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