Je ne sais pas si cela est encore possible, mais j'ai une forme AJAX comme ce violon:Retour après le formulaire FancyBox AJAX Soumission
http://jsfiddle.net/nicorellius/GfeEf/
Sur mon site, il fonctionne très bien. Je fais une validation simple sous la forme avec JavaScript, mais si l'utilisateur passe à travers le JavaScript, l'utilisateur est présenté avec une page Web Campaign Monitor: soit dire oui ou non à leur validation.
Lorsque l'utilisateur s'abonne avec succès, si l'utilisateur clique en arrière ou utilise le lien précédent CM, le fancyBox reste avec les données remplies. Basé sur comment j'ai écrit le script, il devrait fermer après soumission.
Ceci est le comportement de Firefox sous Linux et Windows. Chrome efface la page et supprime le formulaire fancyBox. La section AJAX est ici:
$.ajax({
type : "POST",
cache : false,
url : "http://<comapny_name>.createsend.com/a/b/c/abcdef/",
data : $(this).serializeArray(),
// I've tried both of these commented out pieces to no avail.
//beforeSend : function() {
//$.fancybox.close(true);
//},
//success : function(data) {
//$.fancybox.close(true);
//}
});
Ainsi, malgré l'ajout:
success : function() {
$.fancybox.close(true);
}
au script AJAX, je ne peux pas à fermer après la soumission.
EDIT
Je dois souligner aussi que ce phénomène semble se produire avec Firefox, Safari et Opera. Chrome se comporte comme je m'y attends (par exemple, lorsque je clique sur le lien précédent, j'obtiens le nouveau rechargement de la page). La page CM utilise javascript:history.go(-1)
pour me renvoyer.
Le problème est lorsque je clique sur le lien CM (qui utilise 'javascript: history.go (-1)') pour revenir à la page ne recharge pas, car j'utilise un popup AJAX fancyBox. Il semble exister dans le même état que lorsque je l'ai quitté. Et puisque j'utilise une page HTML pour le contenu, l'ajout de la fonction de fermeture à cela ferme le fancyBox avant qu'il puisse s'ouvrir. – nicorellius
history.go (-1) devrait également recharger la page. Pouvez-vous essayer d'attacher à callback 'complète', plutôt que de succès. Ou au lieu de l'intérieur de votre appel .ajax, vous pouvez appeler .close juste après votre appel .ajax. Je présume qu'il lancerait votre appel ajax avec fancybox fermé –