Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2018, 15:08
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 100

Передать $_POST в iframe
Здравствуйте!
Что то я в трех соснах заблудился, прошу помощи.
Такая задача. При клике на ссылку открыть новое окно и туда передать $_POST запрос.
Новое окно открыть при помощи http://highslide.com/tutorial#iframe-content
то есть так:
<a href="includes/include.php" onclick="return hs.htmlExpand(this, { objectType: 'iframe', width: 1000 } )">Жмяк_здесь</a>

С этим понятно, проблем не возникает.
Но мне надо передать на страницу некоторые данные с той страницы, где размещена ссылка для открытия нового окна.
Я предполагаю это сделать так:
document.forms[0].action = 'includes/include.php';
document.forms[0].submit();

Как совместить эти два действия? Одновременно открыть новое окно и передать туда $_POST ?
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2018, 15:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Форме указать в качестве target iframe,
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2018, 15:58
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 100

Это я понял, что надо сделать так
https://css-tricks.com/snippets/html...-to-an-iframe/

Но мне надо открыть новое окно именно в highslide
http://highslide.com/examples/iframe.html

Я может чего то недопонял, но мне надо открыть ифрейм именно в новом окне highslide ????????
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2018, 16:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rafaello
Но мне надо открыть новое окно именно в highslide
И какие проблемы, если это плагин, который делает ajax запросы, и в котором в качестве объекта принимающего контент можно использовать и iframe. Отдавайте плагину url запроса, остальное он сделаем сам.

Документация же, чего не прочесть?
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2018, 17:36
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 100

Уважаемый laimas!
Вы не хотите вникнуть в суть моего вопроса. Убедительная просьба к вам понять, что именно я спрашиваю!!
Вот смотрите.
Если следовать примеру http://highslide.com/examples/iframe.html то у нас есть ссылка, при клике на которую открывается некоторая страница "includes/include-short.htm" в новом окне.
<a href="includes/include-short.htm" onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )">Жмяк здесь</a>

У меня же другая задача
На этой же странице, где расположена ссылка есть некая форма и вот данные этой формы надо отправить в новое окно. Чувствуете разницу?
<a href="includes/include-short.htm" onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )">Жмяк здесь</a>
<form action="file.php" target="" method="post">	
  <label for="text">Some text:</label>
  <input type="text" name="text" id="text">	
  <input type="submit" value="post">	
</form>

1. Ссылка "Жмяк здесь" находится снаружи формы и не имеет отношения к событию "submit"
2. action формы и href страницы для открытия в ифрейме совершенно разные.
3. При клике на ссылку не надо отправлять форму по адресу action="file.php", а надо получить данные инпутов "text" и отправить эти данные методом POST по адресу href="includes/include-short.htm" и открыть новое окно
Ответить с цитированием
  #6 (permalink)  
Старый 27.02.2018, 17:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rafaello
При клике на ссылку не надо отправлять форму по адресу action="file.php", а надо получить данные инпутов "text" и отправить эти данные методом POST
Охренеть. Если не надо отправлять форму, а получить только ее поля, получайте и в предварительно открытый фрейм помещайте их. Причем тут POST? Если данные формы нужно отправить серверу для обработки методом POST, а уже ее результат поместить во фрейм, то это ajax.
Ответить с цитированием
  #7 (permalink)  
Старый 27.02.2018, 18:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от laimas
а уже ее результат поместить во фрейм, то это ajax.
Либо как ранее говорилось, через target. Но имя фрейма скорее всего формируется случайно, тогда по событию отправки формы, его нужно получить подставив в форму.

onclick="return hs.htmlExpand(this, { objectType: 'iframe' }); form.submit()"

и

form.target = document.querySelector('iframe').name; //но форму отправлять надо по ответу ajax в плагине, то есть, если есть такое событие, иначе фрейм будет недоступен

Вот только ответ сервера затрет содержимое фрейма, а значит серверный сценарий должен обработать поля, подключить "includes/include-short.htm" вставив эти значения куда требуется и вернуть это как ответ, который и будет помещен во фрейм.

Иначе описание "чего хочется" на какой-то бред похоже, ну или описано дремуче и потому выглядит бредом.

Последний раз редактировалось laimas, 27.02.2018 в 18:44.
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2018, 18:53
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 100

Цитата:
Если не надо отправлять форму, а получить только ее поля, получайте и в предварительно открытый фрейм помещайте их.
а одновременно....?
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2018, 19:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rafaello
а одновременно....?
А вы как думаете - можно послать серверу два запроса одновременно, и чтобы он два запроса одновременно обработал, и отдал ответы в два разных потока двум разным получателям?

У вас ведь и "хотелка", волосы дыбом. Как можно передать на страницу, которая уже открыта у клиента (include-short.htm), данные формы методом POST?!

Последний раз редактировалось laimas, 27.02.2018 в 19:36.
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2018, 19:16
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 100

Цитата:
У вас ведь и "хотелка", волосы дыбом. Как можно передать на страницу, которая уже открыт у клиента (include-short.htm), данные формы методом POST?!
А если такой вариант......
Давайте все упростим.
Есть обычная форма
<form action="includes/include-short.htm" target="" method="post">
<input type="text" name="text1" id="text1">			
<input type="text" name="text2" id="text2">		
<input type="submit" value="post">		
</form>

Как сделать так, чтобы при нажатии на input type="submit" страница "includes/include-short.htm" открылась в новом модальном окне (highslide). Или другими словами привязать событие
onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )"
к нажатию на "submit"

Да, вы правильно заметили, что я заранее не знаю имя ифрейма, который формируется автоматом.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать ширину окна в iframe winchester007 Элементы интерфейса 1 05.10.2015 08:01
Fancybox - передать значение в iframe spo jQuery 21 11.03.2015 12:14
Передать текст в поле из IFRAME caeero Events/DOM/Window 1 08.01.2014 10:49
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
ThickBox передать переменную в iframe 4e4en Events/DOM/Window 1 05.10.2011 21:44