jquery - how - Cerrar ColorBox iFrame después de enviar
lightbox iframe (9)
Estoy usando jQuery ColorBox
para mostrar un artículo del carrito de compras. Cuando un usuario ingresa la cantidad en el iFrame (se abre con colorbox) y hace clic en el botón de envío, quiero que el iFrame se cierre y que la ventana principal (principal) se actualice automáticamente.
Quiero decir que quiero dos cosas después de enviar datos en iFrame:
- iFrame se cierra automáticamente.
- La ventana principal se actualiza automáticamente.
Por favor, ayúdame.
Dar etiqueta de forma como esta:
<form target="_top">
entonces después de enviar:
response.redirect("your form")
Después de enviar el formulario en el Marco 1, puede usar el siguiente JavaScript para volver a cargar el marco principal:
window.parent.location.reload(true);
Me gustaría echar un vistazo a http://colorpowered.com/colorbox/core/example1/index.html
Específicamente, mira "Ejemplo con alertas"
Si está utilizando Drupal 7, es posible que deba usar la siguiente alternativa:
parent.jQuery.colorbox.close();
En D7, el $ .fn parece ser reemplazado por el objeto jQuery.
Simplemente configuré una devolución de llamada del menú que simplemente devolvió esto:
return <<<EOF
<script type="text/javascript">
<!--//--><![CDATA[//><!--
parent.jQuery.colorbox.close();
//--><!]]>
</script>
EOF;
Parecía funcionar bien para mí :)
Si quieres quedarte en la página actual:
escriba el siguiente código en la página principal donde se aplica colorbox.
$(document).ready(function(){ $(".tu_iframe_800x600").colorbox({width:"80%", height:"100%", iframe:false }); });
y el siguiente código en su página actual donde desea cerrar el colorbox
parent.$.fn.colorbox.close();
Nota: reemplace .tu_iframe_800x600
con su clase html en la que se llama el cuadro de colores ...
Simplemente simule un clic en el botón de cierre, como este:
$("#cboxClose").click();
Use esto en la ventana principal mientras abre iframe:
$(document).ready(function(){
$(".chpic").colorbox({width:"80%", height:"80%", iframe:true,
onClosed:function(){ location.reload(true); } });
});
y esto para cerrar el iframe dentro de la página del iframe:
parent.$.fn.colorbox.close();
Abra jquery.colorbox.js y encuentre estas dos piezas de código:
$close.click(function () {
publicMethod.close();
});
$overlay.click(function () {
if (settings.overlayClose) {
publicMethod.close();
}
});
Reemplazar con estos: observe la adición de "window.location.reload ();"
$close.click(function () {
publicMethod.close();
window.location.reload();
});
$overlay.click(function () {
if (settings.overlayClose) {
publicMethod.close();
window.location.reload();
}
});
<form target="_top">