Подтвердить что ты не робот

Закрыть ColorBox iFrame после отправки

Я использую jQuery ColorBox, чтобы отобразить элемент корзины покупок. Когда пользователь вводит количество в iFrame (открывается с помощью colorbox) и нажимает кнопку отправки, я хочу, чтобы iFrame был закрыт, а главное окно (родительское) обновлялось автоматически.

Я имею в виду, что я хочу две вещи после отправки данных на iFrame:

  • iFrame автоматически закрывается.
  • Родительское окно автоматически обновляется.

Пожалуйста, помогите мне.

4b9b3361

Ответ 1

используйте это в родительском окне при открытии iframe:

$(document).ready(function(){
    $(".chpic").colorbox({width:"80%", height:"80%", iframe:true, 
        onClosed:function(){ location.reload(true); } });
});

и это, чтобы закрыть iframe внутри страницы iframe:

parent.$.fn.colorbox.close();

Ответ 2

После того, как форма представлена ​​в кадре 1, вы можете использовать следующий JavaScript для перезагрузки родительского фрейма:

window.parent.location.reload(true);

Ответ 3

открыть jquery.colorbox.js найдите эти два фрагмента кода:

$close.click(function () {
  publicMethod.close(); 
});


$overlay.click(function () {
  if (settings.overlayClose) {
    publicMethod.close();
  }
});

заменить на них - обратите внимание на добавление "window.location.reload();"

$close.click(function () {
  publicMethod.close();
  window.location.reload();         
});


$overlay.click(function () {
  if (settings.overlayClose) {
    publicMethod.close();
    window.location.reload();
  }
});

Ответ 5

<form target="_top">

Ответ 6

Дайте тег формы следующим образом:

<form target="_top">

затем после отправки:

response.redirect("your form")

Ответ 7

Просто просто имитируйте щелчок по кнопке закрытия, например:

$("#cboxClose").click();

Ответ 8

Если вы используете Drupal 7, вам может потребоваться использовать следующую альтернативу:

parent.jQuery.colorbox.close();

В D7, $.fn, похоже, заменяется объектом jQuery.

Я просто настраиваю обратный вызов меню, который просто возвращает это:

return <<<EOF
<script type="text/javascript">
  <!--//--><![CDATA[//><!--
  parent.jQuery.colorbox.close();
  //--><!]]>
</script>
EOF;

Мне кажется, что это отлично работает для меня:)

Ответ 9

Если вы хотите остаться на текущей странице:

  • напишите следующий код на родительской странице, где применяется colorbox.

    $(document).ready(function(){
    
     $(".tu_iframe_800x600").colorbox({width:"80%", height:"100%", iframe:false 
    
      });
    });
    
  • и следующий код на текущей странице, где вы хотите закрыть colorbox parent.$.fn.colorbox.close();

Примечание: замените .tu_iframe_800x600 на свой класс html, на который вызывается colorbox...