Jump to content


Photo
- - - - -

Как передовать событие из fancybox сразу после отправки статьи


Best Answer runyugin , 26 June 2015 - 10:48

Решение в целом найдено, после отправки настроен переход на определенную страницу а с нее идет вызов функции которая прописана в индексной страницы, там и закрытие и обновление страниц и прочее. Go to the full post


  • This topic is locked This topic is locked
12 replies to this topic

#1 runyugin

runyugin
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 27 May 2015 - 13:37

Сейчас поместив код для скрытия окна fancybox

  1.     parent.jQuery.fancybox.close();

окно исчезает только после перезагрузки iframe

 

http://allwheelchairs.ru/

 

А хотелось бы закрытие окна сразу по нажатию кнопки "подача"

Далее сразу сообщение в модал. окне о удачной отправке или ошибке с кнопкой ОК и переходом на главную с перезагрузкой страницы, чтобы видеть новый опубликованный материал.


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 28 May 2015 - 08:56

На страницу с результатом подачи  можно добавить эту строку + переход к нужной ссылке.

Все это делается через JS.

Страница успешной оплаты выбирается следующим образом - http://forum.jbzoo.com/topic/11174-


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 runyugin

runyugin
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 06 June 2015 - 20:26

SmetDenis, on 28 May 2015 - 07:56, said:

На страницу с результатом подачи

 

а где эта страница назначается?


  • 0

#4 runyugin

runyugin
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 06 June 2015 - 21:07

Реально очень нужна помощь как добить вопрос:

 

http://allwheelchairs.ru/

 

при подаче материала скрыть окно подачи и обновить страницу.


  • 0

#5 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 07 June 2015 - 05:56

В настройках пункта меню у формы подачи есть опция - куда будет редирект после успешного сохранения материала.

cfbf_200x0.png

 

На указанной странице добавить код, которой закрывает fancybox


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 runyugin

runyugin
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 07 June 2015 - 14:42

окей сделано, окно скрываеться кодом

  1. <script type="text/javascript">
  2. jQuery(function ($) {
  3. parent.jQuery.fancybox.close();
  4.  
  5. });
  6. </script>
  7.  

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


  • 0

#7 runyugin

runyugin
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 07 June 2015 - 15:04

нашел решение:

  1. "afterClose": function(){window.location.reload();}

добавляем в функции вызова


А как отловить и вывести событие после отправки. т.е. если была ошибка, или слишком быстрая подача после первой, или наоборот всё удачно. т.е. вывести после закрытия фрейма.


  • 0

#8 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 09 June 2015 - 07:06

runyugin, on 07 Jun 2015 - 14:04, said:

А как отловить и вывести событие после отправки. т.е. если была ошибка, или слишком быстрая подача после первой, или наоборот всё удачно. т.е. вывести после закрытия фрейма.
 

 

Перед вызовом своих функция (закрытия, перезагрузки) можно проверить существование контейнеров, в которых вывелась ошибка. Если есть - не вызывать.

 

Чтобы из фрейма управлять родительским окном, то обращаться через parent.window.location или top.window.location


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 runyugin

runyugin
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 244
  • topics: 104

Posted 24 June 2015 - 12:43

в окне созданном fancybox стоит переадресация после подачи материала на пустую страницу с кодом:

  1. <script type="text/javascript">
  2.  
  3. jQuery(function ($) {
  4.  
  5.  
  6. $(parent.window.location).ready(function(){
  7. $(".genereet").html("<p>Сообщение отправлено!</p>");
  8. });
  9.  
  10. parent.jQuery.fancybox.close();
  11.  
  12. });
  13.  
  14. </script>

задача подача материала, после падачи закрытие окна и вывод сообщения.

 

пока код несрабатывает(( где ошибка?


Edited by runyugin, 24 June 2015 - 12:44.

  • 0

#10 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 24 June 2015 - 15:16

http://fancyapps.com/fancybox/#docs
В callback'ах можно найти afterClose и beforeClose

Функции указываются при инциализации
http://stackoverflow...ose-not-working

В вашем случае тут
7vjf_200x0.png

Часть или все действия после закрытия окна можно указать там.

fancybox.close(); - остается там же где и был.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!