Fermez Colorbox iframe après la soumission du formulaire, puis redirigez la page parent

J’essaie de résoudre ce problème depuis quelques semaines maintenant avec des résultats médiocres. En raison de mon manque de connaissance de Jquery et de connaissances minimales en Javascript, j’ai concocté quelques éléments de code trouvés sur le réseau et je suis sûr que tout cela est faux. J’utilise Colorbox pour afficher un produit avec un bouton Ajouter au panier dans une iframe (les pages parent et iframe sont des pages provenant de mon serveur). Mes résultats souhaités sont:

(édité pour plus de clarté)

  1. pour que le bouton Ajouter au panier transmette les données du formulaire au parent lors de la soumission.
  2. fermez l’iframe Colorbox après avoir passé le formulaire.
  3. Le cadre parent soumet le formulaire.

Jusqu’à présent, j’ai utilisé le code suivant pour le formulaire dans mon iframe:

Mon script appelant colorbox sur la page parent est:

  function lightbox(){ $.fn.colorbox({ iframe:true, onClosed:function(){ window.location = 'index.php?main_page=shopping_cart'; }, href:"./index.php?main_page=product_info&id=7"}); }  

Donc, les problèmes jusqu’à présent:

Lorsque le formulaire est envoyé, Colorbox se ferme et le formulaire n’est envoyé que la moitié du temps (taux de réussite partiel). J’ai essayé de suivre les données postées avec firebug pour voir si elles étaient postées à chaque fois, mais comme elles proviennent d’un iframe, il me semble que rien ne se passe.

si quelqu’un pouvait m’aider à résoudre ce problème avec le code approprié, je l’apprécierais grandement!

Vous pouvez essayer d’append un délai:

 onSubmit="window.setTimeout(function(){parent.$.fn.colorbox.close();}, 150);" 

Remplacez la valeur 150 par la valeur nécessaire pour vous assurer que la demande est envoyée.

En savoir plus sur setTimeout ici .