Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2015, 08:48
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Отправлена ли форма.
Есть такая форма, открытая в popup, которая отправляется обычным сабмитом. Без всяких там ajax'ов/фреймворков/приблуд. У формочки указан target="_blank".
Форму надо закрыть после того как она отсабмитилась. Есть ли человеческий способ это реализовать?
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2015, 09:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,209

Сообщение от krasovsky
Есть ли человеческий способ это реализовать?
Например то, новое окно пусть ее и закроет.
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2015, 10:04
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от ksa
Например то, новое окно пусть ее и закроет.
В смысле из нового таба получить доступ к табу-родителю, и закрыть форму? Я не нашел никакой инфы на сей счет, и вобщем то не уверен что такое возможно. Кроме того форма отсылается на другой домен. Или я ошибаюсь и можно осуществить какую то связь между табами, хотя бы не кроссбраузерную?

Пока вышел из положения черезжопным вариантом с setTimeout.
Можно конечно storage данные ложить, и ориентироваться по ним. Но это тоже так себе вариант.
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2015, 10:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

krasovsky, зачем закрывать без предупреждения вкладку без ведома пользователя? Как он должен на это реагировать по твоему?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2015, 10:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,209

Сообщение от krasovsky
В смысле из нового таба получить доступ к табу-родителю, и закрыть форму?
Если у тебя используется
Сообщение от krasovsky
target="_blank"
Это новое окно. Значит у него есть ссылка на окно, его создавшее...
window.opener

Далее все действия через него...
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2015, 12:11
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от danik.js
зачем закрывать без предупреждения вкладку без ведома пользователя? Как он должен на это реагировать по твоему?
Вероятно, плохо
Не вкладку, читаем внимательно, а форму находящуюся в popup'е. Обе табы остаются открытыми. Я еще не совсем правильно выразился - технически я закрываю сам popup и удаляю содержимое.

Сообщение от ksa
Это новое окно. Значит у него есть ссылка на окно, его создавшее...
Увы,увы.Если бы домен был один, можно было бы что то нацарапать там, закрывать по флагу или еще что. Но для кроссдоменных сабмитов такой трюк не сработает. Ну разве что в каких нибудь браузерах.

В общем похоже, адекватных механизмов для таких случаев не существует, в связи со специфичностью.
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2015, 12:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krasovsky
читаем внимательно
Ага. перечитал. Ну дык тогда нет необходимости ждать пока загрузится открытая (в момент сабмита) вкладка.

Попап открывает вкладку (сабмитом) и самоустраняется, так ведь надо?

чета типа <form onsubmit="setTimeout( function() { window.close() }, 0)">

Только не уверен что попап может сам себя закрыть. Вероятно об этом нужно просить "открывателя".
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 03.03.2015, 14:52
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от danik.js
Ага. перечитал. Ну дык тогда нет необходимости ждать пока загрузится открытая (в момент сабмита) вкладка.

Попап открывает вкладку (сабмитом) и самоустраняется, так ведь надо?

чета типа <form onsubmit="setTimeout( function() { window.close() }, 0)">

Только не уверен что попап может сам себя закрыть. Вероятно об этом нужно просить "открывателя".
Ага, у меня все так и есть примерно. Просто хотелось бы setTimeout не использовать. Но видимо не судьба.
Ответить с цитированием
  #9 (permalink)  
Старый 03.03.2015, 15:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krasovsky
росто хотелось бы setTimeout не использовать
Да нормально все. Это типа замена отсутствующего события onaftersubmit.

Так можно попробовать. Но нужно тестировать во всех браузерах.
form.onsubmit = {
    this.submit();
    window.close()
};
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма отправки сообщения с сайта hardwolf Элементы интерфейса 17 24.10.2016 15:00
откуда была отправлена форма ? avanesov89 Общие вопросы Javascript 3 16.04.2014 17:50
Не передается форма в выводе результатов через ajax tot18 AJAX и COMET 4 06.03.2014 16:15
не работает форма в окне, вызванном jquery page slide ikar jQuery 0 31.07.2011 22:55
Всплывающая форма в центре страницы для гостевой книги angel-13th Элементы интерфейса 8 05.02.2011 20:10